使用每个切换复选框停止工作

时间:2013-06-09 15:01:16

标签: javascript

下面的代码(用于选择多个复选框)工作正常(在每个浏览器中),但今天它会出错(在每个浏览器中),如:

  1. 切换未定义。
  2. 预期(行:4之后。
  3. 这种情况一直在发生...... 代码:

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

1 个答案:

答案 0 :(得分:2)

JS 1.6中曾经有for each in,最近有array.foreach

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

function toggle(source) {
  var checkboxes = document.getElementsByName('foo[]');
  for (var i=0;i<checkboxes.length;i++) {
    checkboxes[i].checked = source.checked;
  }
 }