jquery移动动态复选框样式

时间:2012-02-26 17:28:31

标签: jquery mobile checkbox

我在移动应用中。我创建了一个复选框列表,我试图用标准的移动外观来设置它。这是我的代码

var list = $('#Code'),
    items = [];
for (i = 0; i < len; i += 1) {
    row = resultflatname.rows.item(i);
    items.push('<input type="checkbox" name="code_'+ i +'" id="code_'+ i +'" value="' + row.amount + '" previous="' + row.pastpayments + '" barcode="' + row.barcode + '" todayp="' + row.todaypayments + '"/><label for="code_'+ i +'">' + row.period +'..........'+ row.amount+'</label>');
}
list.html('<div data-role="fieldcontain"><fieldset data-role="controlgroup"><legend>Checkbox Options:</legend>' + items.join('') + '</fieldset></div>').trigger('create');

和我的HTML

<div data-role="page" id="displayflat">
    <div id="Code">

    </div>
</div>

但我收到简单的复选框而不是移动外观。我改变了一点代码。现在,如果我将代码从firebug检查粘贴到html,则复选框的样式设置正确,但如果我尝试从jquery执行相同操作,则样式错误

3 个答案:

答案 0 :(得分:1)

在附加您的复选框项目后,尝试按照this link

在数据角色字段包含的div上调用.trigger('create')

答案 1 :(得分:0)

定位复选框并在添加后触发刷新:

$(':input:checkbox').checkboxradio("refresh");

答案 2 :(得分:0)

我解决了两个问题:

"NOT_FOUND_ERR: DOM Exception 8 checkboxradio"

"Uncaught cannot call methods on checkboxradio prior to initialization; attempted to call method 'refresh'"

如果你的复选框id和name属性在使用jQuery 1.7.1时不一样,你会得到上述错误之一。花了30分钟的试验和错误来解决这个问题。

如果您尝试.trigger('create')或.checkboxradio()

,您可能会遇到这两个错误之一