我通过jsonp为jquery移动应用加载数据。当我静态地执行它时,它可以正常工作并具有所有JQM格式。
然而,当我通过.append传递数据时,li项目没有格式化
<div data-role="content" class="listview-pets">
<ul data-role="listview" id="listpetsList" data-inset="true"></ul>
</div>
包含它的UL。
代码是:
$.each(data, function(index) {
$("#listpetsList").append("<li><a href=\"#select-pet-dialog\" data-rel=\"dialog\" data-selected=\"1\" data-transition=\"flip\"><img src='" + data[index].Picture + "'><h2>" + data[index].Name + "</h2><p>Type</p></li>");
});
我认为这与JQM预先设计元素有关,但我之后会注入。我怎么强迫它更新?
答案 0 :(得分:2)
您缺少用于listview内容增强的功能:
改变这个:
$.each(data, function(index) {
$("#listpetsList").append("<li><a href=\"#select-pet-dialog\" data-rel=\"dialog\" data-selected=\"1\" data-transition=\"flip\"><img src='" + data[index].Picture + "'><h2>" + data[index].Name + "</h2><p>Type</p></li>");
});
对此:
$.each(data, function(index) {
$("#listpetsList").append("<li><a href=\"#select-pet-dialog\" data-rel=\"dialog\" data-selected=\"1\" data-transition=\"flip\"><img src='" + data[index].Picture + "'><h2>" + data[index].Name + "</h2><p>Type</p></li>");
});
$("#listpetsList").listview('refresh');
这个也可以工作:
$.each(data, function(index) {
$("#listpetsList").append("<li><a href=\"#select-pet-dialog\" data-rel=\"dialog\" data-selected=\"1\" data-transition=\"flip\"><img src='" + data[index].Picture + "'><h2>" + data[index].Name + "</h2><p>Type</p></li>");
});
$("#listpetsList").enhanceWithin();
详细了解此主题 here 。