data-autodividers = true在为列表视图动态创建列表项时不呈现分隔符

时间:2015-04-24 17:13:47

标签: jquery

使用jQuery,我尝试将列表项添加到使用" data-autodividers =' true'"定义的无序列表中。在HTML中我的问题是,为什么自动转发器不会出现?

HTML:

<ul id="places" data-role="listview" data-autodividers="true"></ul>

jQuery的:

$.each(json, function(key,val) {
    var html = "<li>"+val.city+"</li>";
    $('#places').append(html);
    $("#places li").trigger('create');
});

1 个答案:

答案 0 :(得分:0)

嗯,大约364天后,我自己就在这个问题上招来了。

来自http://demos.jquerymobile.com/1.0/docs/lists/docs-lists.html的解决方案:

  

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

     

$('#mylist').listview('refresh');

     

注意,refresh()方法仅影响附加到列表的新节点。这是出于性能原因而完成的。刷新过程将忽略已增强的任何列表项。这意味着如果更改已增强的列表项的内容或属性,则不会反映这些内容或属性。如果要更新列表项,请在调用refresh之前将其替换为新标记。

这里有动态内容和自动分散器列表视图的一个很好的示例http://jsfiddle.net/MauriceG/bwdVh/

请参阅how to create auto list dividers when dynamically creating a list in jquery mobile以获得类似问题的方式〜更好的答案。