无法获得.listview('refresh')和.trigger(“updatelayout”)工作

时间:2015-01-30 20:46:10

标签: javascript jquery jquery-mobile-listview

我使用Ajax检索数据并填充我的列表。但是我无法让jQuery Mobile添加样式列表所需的类,或刷新列表 如果我进行新搜索(旧结果仍在列表中)。

我在Stack上发现了大量类似的Q / A,但没有一个解决方案有效。我没有实施整个解决方案found over at jQuery Mobile,但我相信这应该可行吗?

我是否错误地列出了这个列表? I have a fiddle here

// HTML
<ul id="brandList" class="front" data-role="listview" data-inset="true"></ul>

// JS
var el = Part.mainSearchResult();

$(response.brands).each(function(){
    var brand = $(this)[0];
    var url = '/brand?id=' + brand.id;
    var li = $(el.brand).clone();

    $(li).find('a').prop('href',url);
    $(li).find('a').text(brand.name);
    $('#brandList').append(li);
});

$('#brandList').listview('refresh');
$('#brandList').trigger( "updatelayout");

1 个答案:

答案 0 :(得分:1)

你的小提琴中的代码有错误,你在CSS部分有UL。

在CSS部分,而不是HTML:

<ul id="mylist" class="front" data-role="listview" data-inset="true"></ul>

似乎正在工作,并正在将类添加到UL。

Updated JS Fiddle

编辑:

您需要在测试功能中调用$('#mylist').listview( "refresh" );

NEW FIDDLE