【问题标题】:Not able to get .listview('refresh') and .trigger( "updatelayout") working无法让 .listview('refresh') 和 .trigger("updatelayout") 工作
【发布时间】:2015-03-30 10:13:09
【问题描述】:

我正在使用 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");

【问题讨论】:

    标签: javascript jquery jquery-mobile-listview


    【解决方案1】:

    您的 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

    【讨论】:

    • 谢谢。只是累了。我已经更新了链接和我的问题。真正的问题是为什么 jQuery Mobile 不附加样式和刷新列表。
    • 我不知道发生了什么 - 但我发誓我已经尝试过了!但你的魔法有效。谢谢。您是否知道我可以如何更新 ui-search 面板?当我的列表很长时,它超出了我的列表面板。见prntscr.com/5z3wgc。此外,旧搜索不会从列表中删除:prntscr.com/5z3xdm。我已经用自定义代码解决了这两个问题,但我希望 JQM 能解决这个问题。
    • @Steven NP。我有过这样的好几次!您应该能够使用相同类型的逻辑。 $('选择器').panel('刷新')。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多