【问题标题】:from jquery mobile 1.3.2 to 1.4.3, checkbox horizontal failed从 jquery mobile 1.3.2 到 1.4.3,复选框水平失败
【发布时间】:2014-08-31 05:45:32
【问题描述】:

这是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 中搞砸了,就像:

【问题讨论】:

标签: jquery-mobile jquery-mobile-checkbox


【解决方案1】:

终于找到了解决办法:Control group loses control after dynamic add of radio button - 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");

现在效果很好:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 2011-12-27
    • 1970-01-01
    相关资源
    最近更新 更多