0

ハードコーディングしたコードがありました...すべてが正常に機能しました...その後、動的更新用に交換しました:

<script>
  var items = [];

  $.getJSON('initialize.json', function(data) {
    $.each(data["home"], function(key, val) {

      var tmp1 = '';
      var tmp2 = '';

      $.each(val["group"], function(key2, val2) {
        tmp1 += key2 + "/";
        tmp2 += val2 + "/";
      });

      items.push('<li><a href="#">'+key+' ('+tmp1.slice(0, -1)+')<br /><small>Completed '+tmp2.slice(0, -1)+' days ago</small><span class="ui-li-count">'+val["total"]+'</span></a></li>');
    });

    $("#temp").append(items.join(""));
  });      
</script>

コンテナは次のとおりです。

    <ul id="temp" data-role="listview" data-theme="c">
      <!-- Populated dynamically -->
    </ul>

私はグーグルで提案された解決策を試してみましたが、どれもうまくいきません:

ページの初期化後にコンテンツが追加された場合の jQuery Mobile レンダリングの問題

http://jquerymobile.com/test/docs/pages/page-dynamic.html

私は上記を試しました...なぜ上記が機能しないのか知りたいです...そして何が機能し、なぜですか???

4

1 に答える 1

0

listview('refresh')リストビューに新しいアイテムを追加した後に呼び出す必要があります。だから試してみてください

$("#temp").append(items.join("")).listview("refresh");

それ以外の

$("#temp").append(items.join(""));

リストの更新

リストビューにアイテムを追加する場合は、refresh() メソッドを呼び出してスタイルを更新し、追加されたネストされたリストを作成する必要があります。

ここではjsFiddleが動作しています

于 2013-02-10T07:39:15.687 に答える