2016-06-22 8 views
0

Мне нужно работать с сборкой phonegap, cli 5.x и пытаться создать форму поиска с несколькими входами, 3 из них - ящики выбора.настройка select to width 100% отключает функцию select на android 5.1.x и Nexus-7 (сборка телефонных разговоров)

все работает нормально до тех пор, пока я не захотел установить css узлов выбора на 100%. Если я включу этот css, выбор больше не открывается.

Мое устройство для Android, которое не будет работать, - это Nexus 7 с Android 5.1.1 (Lollipop). На IOS и Android устройствах с 4.x все работает нормально.

Язык, который мы используем, является машинописным текстом с JQuery и будет скомпилирован в Javascript ES5 (commonJS Style).

Пример сценарий:

var sampleData = [{"val": 1, "text": "sample A"}, {"val": 2, "text": "sample B"}]; 

var myContainer $('#content-box'); 

var selectBox = $('<select>').attr('id', 'mySelectBox'); 
selectBox.append($('<option>').attr('value', 'none').html('-- none --')); 

for(var index in sampleData) { 
    var obj = sampleData[index]; 
    selectBox.append($('<option>').attr('value', obj['val']).html(obj['text'])); 
} 

// code above works fine 

$('select').css('width', '100%'); 
// this crashes the popup after compilation 
// and i have to use phonegap-build 

, кстати, если у меня есть крайнее длинное содержание собирается более 100% экран с ним работает. просто растягивается, кажется, падает.

Я не работаю с jquery mobile, некоторые функции, которые мы построим, не будут работать с ним !!!

пробовал внешний css тоже, такой же отказ.

У кого-то есть обходное решение или исправление? кто-то может подтвердить это решение?

ответ

0

Попробуйте установить идентификатор для элемента, который вы хотите изменить,

попробуйте

$('#select').css('width', '100%'); 

, если идентификатор = «выберите»

+0

имеет тот же эффект, нажав на выбор не откройте раскрывающийся список/всплывающее окно, если установлено значение a. похоже, что вы не знаете, что '' '$ ('select')' '' делает. он возвращает массив всех элементов, отмеченных тегами, найденных в документе. – mtizziani

+0

Вы правы, $ ('select') возвращает массив, но это не означает, что на все связанные элементы могут влиять. Зависит от того, как его использовать, может пострадать только индекс 0. Итак, я пытаюсь сказать, что нужно указать, что вам нужно было изменить, установить и указать id (или, скажем, неэффективный, но более точный способ). Извините, что не мог помочь вам, но ваш примерный код волшебный и не мог принять хорошее предположение. – Hoon

+0

после долгого времени бездействия в проекте я нашел, как это сделать: '$ ('select'). Each (function() {$ (this) .css ('width', '100%');})' – mtizziani