1

我正在 jquery mobile 中创建一个动态列表,基于我的本地存储中的 JSON 文件(不是 PHP 文件,只是本地存储),每次您根据已删除或添加到该页面的项目访问该页面时,该列表都会重新构建,它都在 jquery mobile 中,但是,当我返回列表时,我必须手动按刷新来更新它,我尝试使用

$('#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 回答
-1

如果使用如何:

$(document).ready(function(){
    //window.location.reload(true);
    location.href = 'url';
});
于 2013-12-16T09:43:09.717 回答