选中与数组项匹配的所有复选框

时间:2016-06-24 18:59:10

标签: javascript jquery reactjs

我有以下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);而没有运气。

2 个答案:

答案 0 :(得分:0)

将选择器更改为:

$('#roles-checkboxes input')

答案 1 :(得分:0)

我很确定这个:

 $('#roles-checkboxes').each();

简单地迭代一个div。可能会将其更改为:

 $('#roles-checkboxes input[type=checkbox]').each();