我有以下复选框:
<div class="row">
<div class="large-2 columns"><input id="contactTypesCheckbox[12]" name="contactTypesCheckbox[12]" class="contactTypesCheckbox" type="checkbox" value="Billing" /> Billing</div>
<div class="large-2 columns"><input id="contactTypesCheckbox[15]" name="contactTypesCheckbox[15]" class="contactTypesCheckbox" type="checkbox" value="Creative" /> Creative</div>
... etc ...
</div>
Onload,我做了一些ajax,我拉下json,其中包括一个数组的项目,指示哪些复选框应该被选中。
$.each(data.contactTypes, function(key, contactType) {
// key is = 15 in my test
$('#contactTypesCheckbox[key]').prop('checked', true);
});
因此,我希望选中contactTypesCheckbox[15],但它没有选中,没有出现错误。
我做错了什么?
Thank you so much
在Javascript中变量不会在字符串中展开,你需要连接:
$('#contactTypesCheckbox\['+key+'\]').prop('checked', true);
还需要转义括号,否则它们在选择器语法中具有特殊意义。
参见这个问题:
HTML中id属性的有效值是什么?
关于在ID字符串中使用[]
等特殊字符。这在HTML5中是允许的,但在HTML4中不允许。由于以上需要转义,所以最好不要使用