2013-06-27 5 views
0

В настоящее время у меня есть страница с одним меню выбора, которое называется searchuniversity. Как только пользователь выберет что-то из этого меню выбора, я просто прочитаю значение меню выбора, а затем используя это значение, считанное из массива. Этот массив имеет в нем несколько значений и на основе этих значений я хочу добавить эти значения в меню выбора searchuniversitycampus. Теперь по какой-то причине все считывается из массивов должным образом, поскольку я отлаживал код, но по какой-то причине в меню выбора нет никаких добавленных к нему параметров. Вот мой код:Обновление меню выбора с помощью jQuery Mobile

$(document).on('pageinit','#searchpage', 
function() 
{ 
    $('#searchuniversity').change(
    function() 
    { 
     var IDSelected = $("#searchuniversity").val(); 
     var Arrayiterate = ArrayCampus[IDSelected]; 
     var SelectDropDown = document.getElementById("searchuniversitycampus"); 

     for (var i = 0; i < Arrayiterate.length; i++) 
     { 
      var arrayofcampus = Arrayiterate[i]; 
      var CampusName = arrayofcampus[0]; 
      var CampusValue = arrayofcampus[1]; 
      var NewOption = new Option(CampusName,CampusValue); 
      SelectDropDown.add(NewOption); 
      SelectDropDown.selectedIndex = 0; 
     }; 
     $("#searchuniversitycampus").closest('div.ui-select').show(); 
    }); 

} 
); 

Я не уверен, почему код не работает. Дополнительная информация о элементе searchuniversitycampus заключается в том, что он скрыт на странице. Затем я заполню его опциями и покажу его.

ответ

1

Попробуйте обновить элемент select?

//refresh value   
$('#searchuniversitycampus').selectmenu('refresh'); 

//refresh and force rebuild 
$('#searchuniversitycampus').selectmenu('refresh', true); 
+0

Любая конкретная причина показывает только первый элемент в списке, а не остальную часть списка? После обновления он отображает первый элемент в списке, но когда я нажимаю на него, он не отображает остальную часть списка – user481610

+0

@ user1638809, где вы помещаете обновление? Проверьте, обновлено ли после цикла for ... –

+0

yep refresh непосредственно под линией .show() в коде выше, но по какой-либо причине нет списка – user481610