jQuery移动样式被删除

时间:2013-02-10 07:35:49

标签: jquery-mobile

我有代码,我硬编码......一切正常......然后我把它换成动态更新:

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

我用Google搜索并尝试了所提出的解决方案,但没有工作:

jQuery Mobile rendering problems with content being added after the page is initialized

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

我已经尝试了以上内容......我很想知道为什么以上不起作用......以及将会是什么以及为什么???

1 个答案:

答案 0 :(得分:0)

在向列表视图添加新项目后,您需要致电listview('refresh')。所以试试

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

而不是

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

<强> Updating lists

     

如果您将项目添加到列表视图,则需要调用refresh()   方法在其上更新样式并创建任何嵌套列表   加入。

这是有效的jsFiddle