我编写了一个脚本,当我点击第一个复选框时会检查所有复选框。当我在HTML中使用onClick事件时,它工作正常,但是当我尝试不使用onClick事件时,它无法正常工作。
以下是HTML代码:
<table>
<tr>
<td><input id="check-all" type="checkbox"/>
</tr>
<tr>
<td><input id="check1" type="checkbox" name="check"/>
</tr>
<tr>
<td ><input id="check2" type="checkbox" name="check"/>
</tr>
<tr>
<td><input id="check3" type="checkbox" name="check"/>
</tr>
这是我要运行的Javascript代码,但不起作用。
var checkbox = document.getElementById("check-all");
checkbox.onclick = function () {
checkboxes = document.getElementsByName('check');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
}
我刚刚开始使用Javascript,我可能做错了。请指出。
答案 0 :(得分:2)
我认为你有一个未定义的变量:
var checkbox = document.getElementById("check-all");
checkbox.onclick = function () {
checkboxes = document.getElementsByName('check');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = this.checked;
}
}
您需要使用值替换未在任何位置定义的“source”,以获取“check-all”的选中值,例如此
答案 1 :(得分:0)
您的source.checked无效且使用错误
this.checked
而不是
source.checked