在jquery mobile中列表刷新?

时间:2012-01-09 10:11:45

标签: javascript html jquery-mobile popup

我在jQuery Mobile中动态创建<ul>。创建列表后,我刷新列表,它工作正常。但问题是,当我从一个div页面移动到div页面时(jQuery中的页面)。它正在转移到第二页但是转到第一页然后转到第二页,就像闪烁一样。

但我删除了我的js中的列表刷新行,它工作正常但是UI来自普通的HTML。

$('#vaultList').children().remove('li');
$.mobile.changePage("#vaultPage", { transition: "pop", reverse: false, changeHash: false });
        var parent = document.getElementById("vaultList");
        parent.innerHtml = "";
        var userAgentType = userAgentType;
        //Create the Vault list at dynamically
        for (var vaultCount = 0; vaultCount < VaultDetails.length; vaultCount++) {
            var listItem = document.createElement('li');
            listItem.setAttribute('id', 'listitem_' + vaultCount);
            listItem.setAttribute('data-icon', 'false');
            listItem.innerHTML = "<a href='#' name='" + vaultCount + "' id='" + vaultCount + "' rel='external' data-inline='true'>" + "&nbsp;" + vaultCount) + "</a>";
            parent.appendChild(listItem);
        }
        var list = document.getElementById('vaultList');
        $(list).listview("refresh");

2 个答案:

答案 0 :(得分:0)

listview刷新后,您需要销毁页面以重新生成用户界面,您可以执行以下操作:

$('.ui-page-active').page( "destroy" ).page();

答案 1 :(得分:0)

在创建列表后尝试在列表的父级上触发create。例如,如果vaultList位于div且ID为vaultListHolder,请尝试此操作

$("#vaultListHolder").trigger("create");