我有以下代码在listview中动态添加复选框。在第一个显示中,它显示了如图1中的混乱格式。如果我点击刷新按钮,它调用相同的代码来更新列表视图的内容,它就像图2中那样正确。
我错过了什么吗? 感谢
Pic1:http://postimage.org/image/6bvo8fpdd/ 图2:http://postimage.org/image/gnyuokteb/
<div data-role="page" id="page2">
<div data-role="content" align="center">
<fieldset data-role="controlgroup" data-type="horizontal"><input type="radio" name="q1" id="checkall" value="checkall"/><label for="checkall">Check All</label><input type="radio" name="q1" id="uncheckall" value="uncheckall" checked="checked"/><label for="uncheckall">Uncheck All</label></fieldset>
<p>
<fieldset data-role="controlgroup" >
<ul id="mylist" data-role="listview" data-inset="true" data-theme="d" data-count-theme="b" data-filter="true" ">
</ul>
</fieldset>
</p>
</div>
function showCode(refresh){
var output ='';
var iCounter = 0;
$('#mylist').empty();
for (var i = 0; (i < g_Data.length && iCounter < 10); i+=2 ) {
iCounter += 1;
output += '<li><input type="checkbox" name="chk-'+iCounter + 'a" id="chx-'+iCounter +'a" class="custom" />'+ g_Data[i]+'<span class="ui-li-count">' + g_Data[i+1] + '</span></li>';
}
$('#mylist').append(output).listview('refresh');}
答案 0 :(得分:0)
为列表视图调用“refresh”后,尝试调用“create”函数 你的页面。
有些事情是这样的:
// refresh list
$('#mylist').append(output).listview('refresh');
// refresh page
$('#page2').trigger('create');