jQuery Mobile添加列表元素

时间:2013-06-15 17:27:05

标签: jquery list jquery-mobile mobile add

我想知道我做错了什么..

我有这个ul:

<ul id="songlist" data-role="listview" data-divider-theme="b" data-inset="true">
<li data-role="list-divider" role="heading">
    Crowdlist
</li>

和此函数用于添加列表项:

function insertItem(myid,position,newListItem) {
    var ul = document.getElementById(myid);
    var li = document.createElement("li");
    li.innerHTML=newListItem;
    ul.insertBefore(li, ul.getElementsByTagName("li")[position]);
    }

调用这样的函数:

insertItem('songlist',1,'<li data-theme="c" onclick="vote('+song+')">'+interpret+" - "+songtitle+'</li>');

添加了一个列表元素,但看起来不像我可以用

添加的jQuery列表元素
<li data-theme="c">dewf</li>

我无法弄清楚..希望有人可以帮助我。

谢谢!

1 个答案:

答案 0 :(得分:0)

动态注入数据后,您必须刷新列表视图。在listview上将数据插入triggercreatepage之后:

$("[data-role=page]").trigger("create"); 

修改

根据您遇到的问题,我认为refresh不适合您。您无法将data-theme属性添加到li。您必须将其添加到ulli的父级)。

演示:Javascript Version

我尽可能地坚持使用JS。但为什么?你包括jQuery和jQuery mobile,为什么不在你拥有它时使用它呢?如果您需要jQuery解决方案,请查看此版本的解决方案。

演示:jQuery Version