JQuery Mobile:第一次显示动态Listview + Checkbox乱七八糟

时间:2013-03-14 04:04:11

标签: jquery mobile

我有以下代码在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');}   

1 个答案:

答案 0 :(得分:0)

为列表视图调用“refresh”后,尝试调用“create”函数 你的页面。

有些事情是这样的:

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

// refresh page
$('#page2').trigger('create');