我已使用此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的复选框。这可能吗?
答案 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)