2010-11-22 11 views
2

同じテンプレートとJavaScriptがある理由はありますか?jquery-mobileはjquery-tmplでうまく動かないのですか?

<script id="taskTemplate" type="text/x-jquery-tmpl"> 
    <li>${name}</li> 
</script> 

$.getJSON(url, function(data) {  
    $("#taskTemplate").tmpl(data).appendTo("#tasks"); 
}); 

...次のjqtouchマークアップで文書化されているように動作します:

<ul class="rounded" id="tasks"></ul> 

...次のjqery-mobileマークアップを使用して、順序付けされていないリストの外側(レンダリング後)にレンダリングされますか?

<div data-role="content"> 
    <ul data-role="listview" id="tasks"></ul> 
</div><!-- /content --> 

私はjquery-mobileがアルファ版であることを認識していますが、これまでのところうまくいきました。この段階でjqtouchに切り替えることを好まないでしょう。誰もこの動作を見て回避策を見つけましたか?

あらかじめありがとう、

答えて

3

テンプレートが完成したら、リストビューの更新メソッドを呼び出す必要があります。

$( "yourUl")。listview( "refresh"); .page()メソッドが一度も呼び出されていない場合は、このようなことをしたいかもしれません。

try { 
     $(yourUl).listview("refresh"); 
    } catch(e){ 
     // Well, nothing to do there 
    } 
0

それは

$("#taskTemplate").tmpl(data).appendTo("#tasks").page(); 

のようになりますあなたが必要とします最後の.page()。

+0

残念ながら、これは役に立ちません。 .page()呼び出しは、ページ要素を再レンダリングする必要があるときに機能します。この場合、それはリストビューです。しかし、.listview( "refresh")(アルファ2のドキュメントが推奨するように)はそのトリックを行います。 –

関連する問題