-1

我编写了一个脚本,当我单击第一个复选框时,它会检查所有复选框。当我在 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,我可能做错了什么。请指出。

4

2 回答 2

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;
  }
}

您需要用一个值替换未在任何地方定义的“源”,以获取“检查全部”的检查值,例如这个。

于 2013-04-20T12:43:10.127 回答
0

您的 source.checked 无效且使用错误

this.checked

代替

source.checked
于 2013-04-20T12:45:02.673 回答