我在刷新 jquery 移动列表视图时遇到问题。
此代码工作正常:
$(document).bind( "pagebeforechange", function( e, data ) {
// Generating a dynamic list
for(var i=0;i<list.length;i++){
var link = '<li><a href="#">'+list[i].name+'</a></li>';
$("#listview").append(link);
}
// Listview refresh
$("#myPage").on('pagebeforeshow', function() {
try {
$("#listview").listview('refresh');
} catch (e) {
$("#listview").listview();
}
});
$.mobile.changePage($(#myPage), {
transition:"slide",
dataUrl:url,
allowSamePageTransition:true,
reverse:reverse
});
e.preventDefault();
});
但是,我需要动态添加一个图标来列出用户收藏夹中的视图项目。我使用一个函数,它通过对本地数据库的请求返回一个数组。
$(document).bind( "pagebeforechange", function( e, data ) {
getFavs(function(favsArray){
// Generating dynamic list with image
for(var i=0;i<list.length;i++){
favImg = "";
if(favsArray.indexOf(list[i].id) !== -1){
favImg = '<img src="images/star-36-black.png" class="ui-li-icon" />';
}
var link = '<li><a href="#">'+favImg+list[i].name+'</a></li>';
$("#listview").append(link);
}
// Listview refresh
$("#myPage").on('pagebeforeshow', function() {
try {
$("#listview").listview('refresh');
} catch (e) {
$("#listview").listview();
}
});
});
$.mobile.changePage($(#myPage), {
transition:"slide",
dataUrl:url,
allowSamePageTransition:true,
reverse:reverse
});
e.preventDefault();
});
在第二种情况下,Listview()
不适用。我不明白为什么第二个选项如此不同以至于它破坏了Listview()
......