0

我有以下代码可以在列表视图中动态添加复选框。在第一次显示时,它显示了如图 1 所示的混乱格式。如果我单击刷新按钮,它调用相同的代码来更新列表视图的内容,它就会像图 2 中那样正确。

我错过了什么吗?谢谢

图1: 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');}   
4

1 回答 1

0

为您的列表视图调用“刷新”后,尝试为您的页面调用“创建”函数。

像这样的一些事情:

// refresh list
$('#mylist').append(output).listview('refresh');

// refresh page
$('#page2').trigger('create');    
于 2013-03-14T14:30:20.953 回答