我的ListView遇到了一些问题。 它没有jQuery提供的漂亮外观,但只是一个简单的列表,我不知道这将如何来。
这是代码(HTML)
<div data-role="page" id="home">
<div data-role="header">
<h1>Bestelling</h1>
<a class="ui-btn-right" href="#toevoegen">+</a>
</div>
<div data-role="content">
<ul data-role="listview" data-inset="true" id="bestellingLijst">
<!-- Hier komt de bestelling -->
</ul>
</div>
</div>
以下是我向listview添加新<li>
的代码
$("#bestellingLijst").append("<li>" + naam + ' - ' + prijs + "</li>");
任何人都可以帮助我吗? 谢谢!
答案 0 :(得分:1)
<强>解决方案强>
有时,需要使用promise
使listview("refresh")
等待追加完成,然后调用成功处理程序,该处理程序运行refresh
上的listview
。
$("#bestellingLijst").append("<li>" + naam + ' - ' + prijs + "</li>").promise().done( function(){
$(this).listview('refresh');
});
如果您在循环中调用append,最好先将其存储在变量中,然后将其全部附加到#bestellingLijst
:
var i = 0;
var li = "";
for(; i< array.length; i++)
{
//concat to string
li += "<li>" + naam + ' - ' + prijs + "</li>";
}
$("#bestellingLijst").append(li).promise().done( function(){
$(this).listview('refresh');
});
演示
http://jsfiddle.net/hungerpain/CdQTW/
有关所用方法的更多信息
<强> listview("refresh")
强>
ul
的标记,其中data-role
设置为listview
。 promise
<强> done
强>
其他
并且,我希望你在jQM的页面事件方法中调用这个刷新,如果你在页面加载时运行它:
$(document).on("pageinit", "#home", function () {
//append to ul
//refresh the listview
});
答案 1 :(得分:0)
如果您将项目添加到列表视图,则需要在其上调用refresh()方法来更新样式并创建添加的任何嵌套列表。
$('#bestellingLijst').listview('refresh');