小编典典

jQuery Mobile .listview('refresh')不起作用

ajax

我正在使用jQuery
Mobile构建移动Web应用程序,但是我遇到了问题。我正在使用jQuery解析XML文件并创建列表项。它会构建列表,然后将该的列表附加<li><ul>页面上的。我读到,为了使列表具有正确的样式,必须.listview('refresh')在添加数据以刷新列表后调用,以便jQuery
Mobile可以为列表设置正确的样式。

我的问题是列表永远不会刷新。它一直在样式不正确。难道我做错了什么?我的代码正确吗?仅供参考,我已经尝试了所有种类的变化.listview().listview('refresh')等等。

码:

<script type="text/javascript">
  $(window).load(function() {
    $.ajax({
      type: "GET",
      url: "podcast.xml",
      dataType: "xml",
      async: false,
      success: parseXml
    });
  });

  function parseXml(xml) {
    var podcastList = "";
    $(xml).find("item").each(function() {
      podcastList += "<li class='ui-li-has-thumb ui-btn ui-btn-icon-right ui-li ui-btn-up-c' role='option' data-theme='c'><img src='" + $(this).find("itunes\\:image").attr("href") + "' class='ui-li-thumb'><h3 class='ui-li-heading'><a href='" + $(this).find("enclosure").attr("url") + "' class='ui-link-inherit'>" + $(this).find("title").text() + "</a></h3><p class='ui-li-desc'>" + $(this).find("itunes\\:subtitle").text() + "</p></li>";
    });
    $("#podcastList").append(podcastList);
    $("#podcastList").listview('refresh');
  }
</script>

谢谢!


阅读 418

收藏
2020-07-26

共1个答案

小编典典

我遇到了与您的代码相似的问题。我的解决方案是将刷新放入$ .ajax“完成”选项。

        complete: function() {
            $('#list-id').listview('refresh');
        }
2020-07-26