我有以下HTML(它的反应真的是JSX代码,但它是相同的):
<div id="roles-checkboxes">
<label id={role} key={index} ><input type="checkbox" name="checkbox" value={role.role} /> {role.role}</label>
<label id={role} key={index} ><input type="checkbox" name="checkbox" value={role.role} /> {role.role}</label>
</div>
我有一个数组,我传入我的函数,其中包含应检查的所有role
复选框:
checkRoleBoxes(roles){
$('#roles-checkboxes').each(function(){
if ($.inArray($(this).val(), roles)){
$(this).prop('checked', true);
}
})
尽管我的功能找到匹配,我似乎无法检查框,我是否设置了检查属性错误?我也试过$(this).attr('checked', true);
而没有运气。
答案 0 :(得分:0)
将选择器更改为:
$('#roles-checkboxes input')
答案 1 :(得分:0)
我很确定这个:
$('#roles-checkboxes').each();
简单地迭代一个div。可能会将其更改为:
$('#roles-checkboxes input[type=checkbox]').each();