1

ローカルストレージ(PHPファイルではなく、ローカルストレージのみ)のJSONファイルに基づいて、jqueryモバイルで動的リストを作成しています。削除または追加されたアイテムに基づいて、そのページに移動するたびにリストが再構築されます、それはすべてjqueryモバイルにありますが、リストに戻ると手動で更新を押して更新する必要があるため、使用してみました

$('#myListPage').on('pageshow', function(){
  window.location.reload(true);
});

ただし、何もしていないようです。手動で F5 を押すか更新すると、すべてがうまく機能します。

これは、毎回リストが作成される方法です。

function run2() { 
  peopleList();
  $("#list").listview("refresh").trigger("create");
};


function peopleList() {
    $("#peopleList ul li").each().remove();
    for (i = 0; i < cars.length; i++) {
        if (cars[i].availability == "true") {
            $("#peopleList ul").append('<li value = ' + i + ' id="colas">' + '<div  data-role="collapsible" data-theme="b" data-content-theme="a">' + '<h3>' + cars[i].carName + '</h3>' + '<span data-inset="true">' + '<img src="' + cars[i].imageSrc + '" style="width:auto; margin:0px auto" id="imgcar"/>' + '<h2>' + cars[i].carModel + ", " + cars[i].gear + "</h2> " + '</span>' + '<input type="button" value="Select this car" data-icon="check" onclick="aval(' + i + ')"/></div>' + '</li>');
        }
    }
}

簡単な答えがあれば申し訳ありませんが、私はこれが初めてです。学習しようとしていますが、私の指示はphpではなくローカルストレージのみを使用することでした。よろしくお願いします。

編集:

コードのhtmlはこちら

<div data-role="page" id="catalog">
  <div data-role="header" data-theme="a">
    <h1>Choose your car!</h1>
  </div>
  <div data-role="content" id="peopleList" class="ui-grid-b">
    <ul data-role="listview" data-inset="true" id="list" class="ui-block-a">
    </ul>
    <div class="ui-block-c">
      <canvas id ="myCanvas"  style="margin-left:100px; width:300px; height:300px"></canvas>
    </div>
    <div class="ui-block-b"></div>
  </div>
  <div data-role="footer" data-position="fixed"  class="copyright"><h2> &copy  </h2></div>
</div>
4

3 に答える 3

1

これでリストビューを更新できます:

$('#peopleList').listview('refresh');  

ここでドキュメントを確認してください: http://jquerymobile.com/demos/1.2.1/docs/lists/docs-lists.html

于 2013-12-16T09:44:43.393 に答える
0

インターネットの暗い隅で長い間検索した後、トリックを実行するコマンドを見つけました。それが何を意味するのか、どのように実行するのかわかりませんが、機能します。

var path = location.pathname;
var filename = path.match(/.*\/([^/]+)\.([^?]+)/i)[1]+".html";
location.href= filename;
于 2013-12-22T06:40:31.353 に答える