9

jquery Mobile のバージョン 1.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");

これはul#newlistの ID であり、data はオブジェクトです。

于 2012-10-10T10:12:23.830 に答える