我的页面上有多个复选框和“全选”按钮。我想,当我按下选择按钮时,页面上的所有元素都要检查。这是我尝试过的javascript代码:
<script>
function selectall() {
for (var i = 0; i < document.getElementsByName("ch").length; i++) {
document.getElementsByName(ch[i]).checked = true;
}
}
</script>
这里是html:
<form action="analize.php" method="POST" enctype="multipart/form-data">
<input type="button" onclick="selectall()" value="SELECT ALL" />
<input type="checkbox" name="ch[]" value="a" align="MIDLE" />
<input type="checkbox" name="ch[]" value="b" align="MIDLE" />
<input type="checkbox" name="ch[]" value="c" align="MIDLE" />
</form>
答案 0 :(得分:3)
目标元素的name
属性为ch[]
而非ch
。另外.getElementsByName(ch[i])
应该是.getElementsByName('ch[]')[i]
。
for (var i = 0; i < document.getElementsByName("ch[]").length; i++) {
document.getElementsByName('ch[]')[i].checked = true;
}
您还可以缓存NodeList
,这比在每次迭代中查询DOM更有效:
var nodeList = document.getElementsByName("ch[]");
for (var i = 0; i < nodeList.length; i++) {
nodeList[i].checked = true;
}