无法让 .listview('refresh') 和 .trigger("updatelayout") 工作

Not able to get .listview('refresh') and .trigger( "updatelayout") working

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

我在 Stack 上发现了很多类似的 Q/A,但是 none 的解决方案有效。我还没有实现整个解决方案 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");

您的 Fiddle 中的代码有误,您在 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