如何动态添加项目到jQuery Mobile / Listview中的列表视图不更新

时间:2013-07-21 09:17:44

标签: jquery jquery-mobile

查看我的代码:http://jsfiddle.net/WqssQ/

单击签入后,会在对话框页面中弹出列表视图。 如果您忽略此项,然后再次单击“检入”,则列表视图格式不正确。

我试过了:

$('#location_listview').listview('refresh');

正如所建议的那样,但这不起作用。

3 个答案:

答案 0 :(得分:1)

在刷新列表视图之前,您必须等到初始化。 试试这个:

$( "#location_popup" ).one( "pagebeforeshow", function( event ) {
        $('#location_listview').listview('refresh');
});

演示here

答案 1 :(得分:0)

我认为你必须将li放在html代码中,而不是用jquery附加它。看看这个新的小提琴:http://jsfiddle.net/lulu3030/WqssQ/1/

答案 2 :(得分:0)

 $.mobile.changePage("#location_popup", {
    transition: "fade",
    role: "dialog",
    reverse: false
});

$( '#location_listview')列表视图( '刷新'); // location_listview的定位解决了问题

在jsfiddle上检查我的解决方案。 http://jsfiddle.net/WqssQ/20/

$('#get_places').click(function () {
    onSuccess();
});

function onSuccess() {

    $('#location_listview').html("");



    for (var i = 0; i < 7; i++) {
        $('#location_listview').append("<li><a href=#main>" + i + "</a></li>");
    }


    $.mobile.changePage("#location_popup", {
        transition: "fade",
        role: "dialog",
        reverse: false
    });

 **$('#location_listview').listview('refresh');**

}