обновление списка в jquery mobile? - PullRequest
0 голосов
/ 09 января 2012

Я динамически создаю <ul> в jQuery Mobile. После создания списка я обновляю список, и он работает нормально. Но проблема в том, что я перехожу с одной страницы div на страницу div (страницу в jQuery). Он перемещается на вторую страницу, но попадает на первую страницу, а затем переходит на вторую страницу, как мерцание.

Но я удаляю строку обновления списка в моем js, она работает нормально, но пользовательский интерфейс работает как обычный 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 голосов
/ 09 января 2012

Попробуйте вызвать create в родительском списке после создания списка. Например, если vaultList находится в div с идентификатором vaultListHolder, попробуйте это

$("#vaultListHolder").trigger("create");
0 голосов
/ 09 января 2012

После вашего обновления в listview вам нужно уничтожить страницу для регенерации интерфейса, вы можете сделать это с помощью:

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