2011-01-29 11 views
6

初めて、私はページをロードすると、私の選択ボックスが空である:JQuery Mobile:選択ボックスを再レンダリングする方法は?

<select name="secondaryTitle" id="secondaryTitle"></select> 

は、それから私は、AJAX呼び出しを行うと、選択ボックス上のためのJSONデータを取得します。

arrtitle = objSecTitle.getAllSecondaryTitle(serviceId); // its an ajax call, that returns json object 
var obj = jQuery("#secondaryTitle"); 
removeAllOptions(obj); 
for(i=0;i<arrtitle.length;i++) 
{ 
    obj.options.length=obj.options.length + 1; 
    obj.options[obj.options.length - 1].text = arrtitle[i][1]; 
    obj.options[obj.options.length - 1].value = arrtitle[i][0]; 
} 
function removeAllOptions(selectbox){ 
    var i; 
    for(i=selectbox.options.length-1;i>=0;i--) 
    { 
     selectbox.remove(i); 
    } 
} 

私のajaxコールは完璧です。上記のコードは、ドロップダウン項目も変更します。しかし、jQuery Mobileを使用するとUIが更新されません。これは、選択肢ポップアップの別のdivを表示/非表示にするためです。

答えて

14

気にしないでください!

私はきちんとマニュアルを確認する必要があります

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

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

OMGこれは見つけるのはそう長く連れて行ってくれました!私は今何日もすべてを試しました。ありがとう! –

+1

.trigger( 'create')をよく使うべきです – TecHunter

0

私は二重引用符を使用するまで、なぜ私に尋ねるが、これは私だけのために働いてはいけない - >」< - この命令に関係するすべての文字列について:

$( "#secondaryTitle")selectmenu( "リフレッシュ"、真の); //作業

私はこのようにそれを持っていた:。。

$( '#のsecondaryTitle')SEL ectmenu( 'リフレッシュ' 真); //は

を動作していないし、それが働いていない:S:S:S

関連する問題