9

我正在尝试使用 jquery Mobile 1.1 版刷新嵌套列表的解决方法,它目前给您留下一个空白页面。

我知道一个现有的解决方案是启用 pushState ,但这会将您送回列表的根目录,并在您的下一个嵌套列表视图中使用历史状态。

我在下面提出的解决方案并不漂亮,但适用于 iOS 和更新的 android。

$(document).bind("mobileinit", function(){

 var urlEx = '#&ui-page=5-0';  //ending of nested list url

 if (window.location.href.indexOf(urlEx) != -1){

  history.replaceState("", "0", "index.php");
   setTimeout("window.location.href='https://FULLURL#/FULLURL&ui-page=5-0'",100);
 }

 window.history.pushState("", "0", "index.php"); 

});

我意识到不是每个浏览器都支持 pushState 和 replaceState ,我可以尝试使用:

window.location.href = window.location.href.substring(0,window.location.href.indexOf('#'));

相反,但它变得更加不稳定的用户体验。

我希望有人能阐明什么可以做得更好或如何做得更好/更可靠。

4

2 回答 2

1

$("#<mySelector>").listview("refresh");

或者

$("#<mySelector>").refresh("listview");

除非我完全误解了您的问题,否则您应该能够使用上面的任何一行来刷新您要添加到的列表,其中<mySelector>任何 JQuery 兼容选择器将返回您的列表视图。

于 2012-10-05T20:37:52.630 回答
1

这段代码对我有用:

$("#newList").append("<li class='ui-li-desc'><div><b>"+data[i].Title+":</b></div><small><div class='ui- li-desc'>"+data[i].Content+"</div></small></li>");

$("#newList").listview("refresh");

#newlist是 ul 的 ID,data 是一个对象。

于 2012-10-10T10:12:23.830 回答