我在移动应用中。我创建了一个复选框列表,我试图用标准的移动外观来设置它。这是我的代码
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执行相同操作,则样式错误
答案 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()
,您可能会遇到这两个错误之一