如何循环使用具有相同类名的复选框组?

时间:2016-02-19 13:45:35

标签: javascript jquery html checkbox

我有动态表,其中包含带有复选框字段的表格单元格。这些字段是从DB填充的,所以我的表是动态的。我想基于他们的类名循环复选框。在该循环中,我想检查每个复选框的值。例如,如果值等于1,我想要复选框,如果没有取消选中。 Alo我不确定是否可能,但我想为每个复选框设置唯一的ID。由于我的表是动态的,我的字段需要具有唯一的ID。以下是我的代码示例:

<table>
    <thead>
        <tr>
            <th>#</th>
            <th>Time Slots</th>
            <th>Block</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td></td>
            <td>~(SLOT_LABEL)</td>
            <td>
                <span>
                <input type="checkbox" name="CF-[Events]" class="block" id="block_"+Value that will make this ID unique. value="~(SLOT_ID)"/>
                </span>
            </td>
        </tr>
    </tbody>
</table>

另外,在我使用当前语言从DB读取值时,我必须使用NAME标记。如果有人可以提供帮助,请告诉我。谢谢。

4 个答案:

答案 0 :(得分:3)

您可以使用属性选择器按namevalue检索元素。试试这个:

$('input[name="CF-[Events]"][value="1"]').prop("checked", true);

Working example

答案 1 :(得分:2)

如果您不想使用jQuery解决方案,也可以使用querySelector获取这些元素:

var inputs = document.querySelectorAll("input.block");
for(var i = 0; i < inputs.length; i++) {
  inputs[i].checked = true;
}

答案 2 :(得分:0)

$("input[name='CF-[Events]']").each(function() {
   if($(this).val() === "1")
   {
       $(this).prop("checked", true);
   }
});

答案 3 :(得分:0)

你可以通过每个循环在jquery中完成它

$('.ClassName').each(function(i, o) {
    // o is object in your case checkbox    
    // i is index
    // your code
});