如何在jquery(移动)中刷新DIV?

Joh*_*ner 7 javascript mobile jquery

更新:抱歉,我不小心将该data-dom-cache="true"行复制到了我的content-div中.似乎非常符合逻辑,即应用程序是从dom而不是新内容加载的!我把它改成了false,现在它完美无缺.

谢谢.

我有一个动态生成的列表.如果有人单击列表中的条目,则会将用户重定向到加载数据的新页面(动态).加载的数据取决于用户单击的列表条目.

当应用程序第一次加载时,一切正常.但是当用户点击另一个列表条目时,相同的数据表示为第一次运行时.

我已经玩过.empty()jQuery中的函数(清除div并附加新数据),但它不起作用.

编辑:

我的headlines.html文件如下所示:

<div id="content>
  <div id="headlineslist">
    <ul data-role="listview" data-theme="c" id="headlineslist">
    </ul>
  </div>
</div>
<script>
  $(document).ready(function() {
    HeadlinesLoad();
  });
</script>
Run Code Online (Sandbox Code Playgroud)

这是Javascript文件:

function HeadlinesLoad() {
  $.ajax({
    type: "POST",
    url: "headlines_getter.php",
    dataType: 'json',
    cache: false,
    success: function(data1) {
      $.each(data1, function(i, currentObj) {
        $('ul#headlineslist').append('<li data-role="list-divider" 
class=?"ui-li ui-li-divider ui-bar-b">?' + currentObj.main + '</li>?').listview('refresh');
        $.each(currentObj.sub, function (j, currentSub) {
          $('ul#headlineslist').append('<li>
<a href="headlinesclicked_temp.html" onclick="headlineID(' + currentSub.sid + ')">' + currentSub.name + '</a></li>').listview('refresh');
        });
      });
    }
  });
}

function headlineID(hID) {
  window.localStorage.setItem("headlineID", hID);
}

function onHeadlinesLoad() {
  var hID = window.localStorage.getItem("headlineID");
  window.localStorage.removeItem("headlineID");
  window.localStorage.clear();
  $.ajax({
    url: "headlinesclicked_getter.php?hID=" + hID,
    success: function(html) {
      if(html){
        $("#headlineshome").empty();
        $("#headlineshome").html(html);
      }
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

以下是放在HTML文件中的片段,其中应显示数据(并在用户执行的每次新点击时刷新):

<div data-role="content" id="headlineshome"></div>
<script>
  $(document).ready(function() {
    onHeadlinesLoad();
  });
</script>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么它不起作用,所以我请求你帮忙.

提前致谢.

最好的问候,约翰.

luk*_*nis 1

使用 jQuery mobile 更新列表后,请考虑触发“ create ”事件,但该事件已过时,因此请使用

.page() 
Run Code Online (Sandbox Code Playgroud)

在你的清单上是这样的:

$('ul#headlineslist').page();
Run Code Online (Sandbox Code Playgroud)