2013-06-27 122 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刷新直接位於上面的代碼中的.show()行之下,但由於某種原因沒有出現列表 – user481610

相關問題