【发布时间】:2014-04-05 05:09:17
【问题描述】:
我有一个 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');
},
正如您在我的代码中看到的那样,我尝试在成功和完成时调用刷新方法,但两者都不起作用。
编辑:当我将搜索过滤器添加到列表并在其中输入内容时,列表视图会刷新,但刷新方法不会刷新。如果这有什么不同的话,这个列表就在一个可折叠的里面。
【问题讨论】:
-
你的意思是 CSS 样式吗?输出是什么样的? .listview('refresh'); 时会发生什么火灾?什么都没有?
-
是的,上面没有 JQM css 样式。调用刷新时没有任何反应,它看起来仍然一样。
-
$('#filters') 是标记中的现有 UL,还是动态创建的?如果是动态的,请调用不带“刷新”的 .listview() 来初始化列表。
-
@ezanker #filters 是现有的 UL 标记,然后 ajax 调用使用列表填充它。
标签: javascript jquery html ajax jquery-mobile