AJAX调用后jQuery Mobile列表视图没有刷新

时间:2014-04-05 05:09:18

标签: javascript jquery html ajax jquery-mobile

我有一个AJAX调用,它从JSON数组中生成一个列表,但是当加载数据时,它上面没有可视样式,并且刷新方法不起作用。

success: function (data, status, xhr) {
  value = " + data.OCC_FiltersObj_Cust[i].CustomerName + ">" + data.OCC_FiltersObj_Cust[i].CustomerName + "</option>" );
  //$("#filters").append("<optgroup id=" + data.OCC_FiltersObj_Cust[i].CustomerType + " label=" + data.OCC_FiltersObj_Cust[i].CustomerType + ">");
  for (var i=0, len = data.OCC_FiltersObj_Cust.length; i < len; i++) {
    if (i > 0 && data.OCC_FiltersObj_Cust[i].CustomerType === data.OCC_FiltersObj_Cust[i-1].CustomerType) {
      //Write the customer types
      $("#filters").append("<li>" + data.OCC_FiltersObj_Cust[i].CustomerName + "</li>");
    } else {
      //Write the customer names
      $("#filters").append("<li>" + data.OCC_FiltersObj_Cust[i].CustomerType + "</li>");
    }
  }
  $('#filters').listview('refresh');
},
complete: function (xhr, status) {
  $('#filters').listview('refresh');
},

正如您在我的代码中看到的那样,我尝试在成功时调用refresh方法并完成,但两者都没有工作。

编辑:当我向列表添加搜索过滤器并在其中键入内容时,listview会刷新,但刷新方法不会刷新。如果这有任何不同,那么列表就在可折叠内部。

2 个答案:

答案 0 :(得分:0)

我不知道为什么,但在刷新&#39;为我做了诀窍。

你可以在你的ajax成功回调中做一些这样的事情。

setTimeout(function () {
    $("#filters").listview("refresh");  
}, 10);

答案 1 :(得分:0)

Jqm listview需要刷新动态内容

所以在追加

后使用此代码
$("#listviewid").listview().listview("refresh");