-4

下面的代码(用于选择多个复选框)昨晚运行良好(在每个浏览器中),但今天它给出了错误(在每个浏览器中),例如:

  1. 未定义切换。
  2. 预期(在 for.4 之后的第 4 行。

这一直在发生......代码:

    <html>
    <head>
    <script language="JavaScript">
    function toggle(source) {
    checkboxes = document.getElementsByName('foo[]');
    for each(var checkbox in checkboxes)
    checkbox.checked = source.checked;
    }
    </script>
    </head>
    <body>
    <input type="checkbox" onClick="toggle(this)" /> Toggle All<br/>

    <input type="checkbox" name="foo[]" value="bar1"> Bar 1<br/>
    <input type="checkbox" name="foo[]" value="bar2"> Bar 2<br/>
    <input type="checkbox" name="foo[]" value="bar3"> Bar 3<br/>
    <input type="checkbox" name="foo[]" value="bar4"> Bar 4<br/>
    </body> 
    </html>
4

1 回答 1

2

在 JS 1.6中曾经有一个for each,最近有一个array.foreach

但我建议你使用这样的 for 循环,因为你有一个集合

function toggle(source) {
  var checkboxes = document.getElementsByName('foo[]');
  for (var i=0;i<checkboxes.length;i++) {
    checkboxes[i].checked = source.checked;
  }
 }
于 2013-06-09T15:07:19.690 回答