我正在使用 jQuery 1.3.1 和 phonegap 2.9.0 开发一个应用程序。
使用 php 从服务器动态加载的所有数据。我的问题是每次列表视图项目更改时刷新调用都不起作用。我已经尝试并搜索了很多,但还没有成功。我的想法是,在列表视图完成之前调用了刷新函数,但是在我尝试放置这行代码的任何地方它都不起作用。
有什么帮助吗?
这是我的列表视图
<ul data-role="listview" data-autodividers="true" id="listview1" data-divider-theme="b" data-split-theme="b" data-filter-theme="b" data-split-icon="phone" data-filter="true" data-filter-placeholder="Search..." ></ul>
这是我如何对服务器进行 tha ajax 调用
$.ajax({url: JsonURL
beforeSend: function(){ $.mobile.showPageLoadingMsg('b', 'Updating content...', true); },
complete: function () {
console.log("refreshing..");
$('#listview1').listview('refresh');
$('#listview2').listview('refresh');
$('#listview3').listview('refresh');
$.mobile.hidePageLoadingMsg(); },
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
success: function (result) {
data = result;
app.setupdevice();
$.mobile.changePage('#home', {transition: 'slide'});
},
error: function (request, error) {
console.log(error.message);
}
});
以及我如何创建列表视图。每次列表中的项目更改以使用新项目更新列表时,此代码都会运行。
在success
我调用的函数setupdevice
中,初始化列表视图,如下所示。然后在完整的功能中我正在刷新列表视图。出于某种原因,它只是第一次令人耳目一新。
items='';
$.each(data.pois, function() {
items += '<li><a href="#"><h3>'+this.name+'</h3></a><a href="tel:\''+this.tel+'\'" >call</a></li>';
});
$('#listview1').html(items);
这是我第一次遇到这个问题,我真的很生气,因为我找不到为什么会这样。