使用javascript按值查找复选框

时间:2013-06-05 10:19:29

标签: javascript checkbox

我已使用此JavaScript查找我需要的复选框并进行检查。

<script type="text/javascript">
function checkAll(c) {
    var chks = document.getElementsByName(c.name);
    for (var i = 0; i < chks.length; i++) {
        chks[i].checked = c.checked;
    }
}

但我不能再使用它,并想知道我是否可以通过它们的值名称找到它们,假设我有3个像这样呈现的复选框..

<input name="2" type="checkbox" value="chk2" onclick="checkAll(this)">
<input name="3" type="checkbox" value="chk2" onclick="checkAll(this)">
<input name="4" type="checkbox" value="chk3" onclick="checkAll(this)">

如果我然后检查其中一个复选框,其值为value =“chk2”,则应选中其中一个复选框,但不要选中值等于chk3的复选框。这可能吗?

2 个答案:

答案 0 :(得分:9)

尝试querySelectorAll

var chks = document.querySelectorAll("input[type='checkbox'][value='chk2']");

不需要jQuery,纯粹的Vanilla JavaScript!

答案 1 :(得分:1)

请考虑使用jQuery和这样的语句,检查所有复选框的值为“chk2”:

$("input:checkbox[value='chk2']").attr("checked", true);

编辑:更优雅的方式是使用ViewModel。然后,您可以将复选框绑定到一个数据实体,只要基础数据的值发生更改,就会选中/取消选中复选框。您可以使用knockout.js实现这一点,并且很容易实现(http://knockoutjs.com