-4

以下のコード (複数のチェック ボックスを選択するため) は昨夜 (すべてのブラウザーで) 正常に機能しましたが、今日は (すべてのブラウザーで) 次のようなエラーが発生します。

  1. トグルが定義されていません。
  2. 予想される ( 行:4 以降 for.

これは常に発生し続けます... コード:

    <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 に答える