0

这是html:

<form>
    <fieldset data-role="controlgroup" data-type="horizontal" id="buddies" />
</form>

这是javascript:

for (var i = 0; i < json.length; i++) {
    var usr = json[i];
    var mid = usr.mid;
    var input = '<input id="' + mid + '" type="checkbox"';
    var photo = usr.photo;
    if (typeof photo === 'undefined') {
    photo = '<span class="middle"></span><br/>';
    no_photo_ids[no_photo_ids.length] = mid;
    } else {
    photo = '<span class="middle"><img src="' + photo + '"/></span><br/>';
    if (max_invite_messages-- > 0) {
        input += ' checked="checked"';
    }
    }
    input += '>';
    var label = '<label for="' + mid + '">' + photo + usr.name + '</label>';
    $('#buddies').append(input);
    $('#buddies').append(label);
}
$('#buddies').trigger('create');

它在 jquery mobile 1.3.2 中可以正常工作,就像: 在此处输入图像描述

但它在 1.4.3 中搞砸了,就像: 在此处输入图像描述

4

1 回答 1

0

最后我找到了一个解决方案:动态添加单选按钮后控制组失去控制 - jQuery Mobile

1.3.2 很容易像这样工作:

$('#buddies').append(...);
$('#buddies').append(...);
...
$('#buddies').trigger('create'); 

1.4.3 就像这样一团糟:

$('#buddies').controlgroup("container").append(...);
$('#buddies').controlgroup("container").append(...);
...
$('#buddies').enhanceWithin().controlgroup("refresh");

现在它工作得很好:

在此处输入图像描述

于 2014-08-11T13:24:32.833 回答