2012-01-09 5 views
0

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

Но я удаляю строку обновления списка в 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"); 

ответ

0

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

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

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

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

Я добавил ваш код, но тот же вопрос – selladurai

+0

Попробуйте с этим: '$ (" div [data-role = page] ") .page (" destroy ") .page();' – SERPRO

+0

извините, он также не работает для моей программы ... – selladurai

Смежные вопросы