我有一个父列表(ul-li),当点击列表中的li时,我正在创建新的子列表并将其添加到新页面。如果我从父列表中单击相同的li或其他li,使用JQM的listview小部件加载子列表,我将第一次获得适当的Jquery移动列表视图的子列表。相反,它正在加载正常列表。
请找到Jsfiddle链接 - http://jsfiddle.net/gopijsf/BG2ZV/1/
HTML:
<div data-role="page" id="parentPage">
<header data-role="header" data-theme="d">
<h3>Parent</h3>
</header>
<div>
<ul id="sectionUlContainer" data-role="listview">
<li><a href="#" class="sectionItemClass">List1</a></li>
<li><a href="#" class="sectionItemClass">List2</a></li>
<li><a href="#" class="sectionItemClass">List3</a></li>
<li><a href="#" class="sectionItemClass">List4</a></li>
</ul>
</div>
<footer data-role="footer" data-position="fixed" data-theme="b">
<h3></h3>
</footer>
</div>
<div data-role="page" id="childPage">
<header data-role="header" data-theme="d">
<h3>Child</h3>
<a href="#parentPage">Back</a>
</header>
<div id="childList"></div>
</div>
JS:
$(document).ready(function(){
$('.sectionItemClass').click(function(){
var childWidget = '<ul id="childUlContainer" data-role="listview"><li>childList</li></ul>';
$('#childList').html(childWidget);
$.mobile.changePage('#childPage',{transition:'slide'});
});
});
帮助我每次如何重新加载JQM的列表视图。 在此先感谢。
答案 0 :(得分:1)
使用此功能:
$('#childUlContainer').listview('refresh');
工作示例:http://jsfiddle.net/Gajotres/LrAyE/
在我的另一篇文章中详细了解它: jQuery Mobile: Markup Enhancement of dynamically added content
此处您的代码已修复:http://jsfiddle.net/Gajotres/uejY2/
$(document).on('pageinit', '#parentPage', function(){
$(document).on('click','.sectionItemClass',function(){
var childWidget = '<ul id="childUlContainer" data-role="listview"><li>childList</li></ul>';
$('#childList').html(childWidget);
$.mobile.changePage('#childPage',{transition:'slide'});
});
});
$(document).on('pagebeforeshow', '#childPage', function(){
$('#childUlContainer').listview().listview('refresh')
});