2

同じテンプレートとJavaScriptが必要な理由はありますか

<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>

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

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

jquery-mobileはアルファ版リリースであることに気付きましたが、これまでのところうまく機能しており、この段階ではjqtouchに切り替えたくありません。誰かがこの動作を見て、回避策を見つけましたか?

4

3 に答える 3

3

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

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

    try { 
        $(yourUl).listview("refresh");
    } catch(e){
        // Well, nothing to do there
    } 
于 2011-01-12T10:35:56.560 に答える
1

これはアルファ 2 で修正されました。こちらを参照してください: http://jquerymobile.com/demos/1.0a2/#docs/lists/docs-lists.html (「リストの更新」まで下にスクロール)

于 2010-12-10T16:24:28.443 に答える
0

次のようになります

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

最後に.page()が必要です。

于 2010-12-12T09:25:46.743 に答える