我在使用JqueryMobile时遇到了一些问题。我加载页面并动态创建Listview。第一次加载页面时,列表会变得很好,当我返回上一页并单击同一链接时,列表视图不会呈现为列表视图,就像链接一样。我在同一个doc上有多个页面,所以我按id引用这些页面。代码如下。
列表建立的地方。
function getDays(mon){
var total = 0;
$("#h1").text(sites);
$("#perDay").empty();
$.getJSON('/cf/cfc/statistics.cfc?method=PagesPerDay', { site: sites , months : mon}, function(qPress) {
$.each(qPress, function(i, item) {
total = total + item.pages;
$("#perDay").append('<li id="' + item.dayname +'"><a href="javascript:void(0);" onClick="getDays();">' + item.dayname + '<span class="ui-li-count">' + item.pages + '</span></a></li>');
});
$("#perDay").append('<li data-theme="b" class="ui-li ui-li-static ui-body-c ui-li-has-count">Total' + '<span class="ui-li-count">' + total + '</span></li>');
ChangePage("#pageDays", 'pop', sites);
});
}
html
<div data-role="page" id="pageDays">
<div data-role="header" data-position="inline">
<a href="#razzberry" data-icon="back" data-theme="b" data-rel="back">Back</a>
<h1 id="h1"></h1>
</div>
<div data-role="content">
<h4 style="text-align:center;">Pages Viewed Per Day</h4>
<ul data-role="listview" id="perDay"></ul>
</div>
</div><!-- /page -->
我试图在循环之后放置$("#perMonth").listview("refresh");
但是我得到了
在初始化之前,Uncaught无法在listview上调用方法;试图调用方法&#39;刷新
我正在使用jQuery Mobile 1.0
答案 0 :(得分:1)
我找到解决问题的唯一方法是使用
$("#pageDays").page('destroy').page();
答案 1 :(得分:0)
@Inaki感谢您的回复。在我的例子中,我在追加项目之后销毁了页面(div_list_id ul)。
<div id="div_loc_list"></div>
// firstly destroy ul
$("#div_loc_list ul").page('destroy').page();
var list_content ='';
for (var i=0; i < posArray.length; i++) {
var ltitle = posArray[i].title;
list_content += '<li><a href="#direction_page">'+ltitle+'</a></li>';
}
$('#div_loc_list').append('<ul data-role="listview">'+list_content+'</ul>');