2
<script type="text/javascript">
function checkAll(formname, checktoggle)
{
     var checkboxes = new Array();
      checkboxes = document[formname].getElementsByTagName('input');
      for (var i = 0; i < checkboxes.length; i++) {
          if (checkboxes[i].type === 'checkbox') {
               checkboxes[i].checked = checktoggle;
          }
      }
}
</script>

<form name="myform">
<li>
   <label class="cba">
         <a href="javascript:void();" onclick="javascript:checkAll('myform', true);">Check All</a> | 
         <a href="javascript:void();" onclick="javascript:checkAll('myform', false);">UnCheck All</a>
   </label>
</li>
<li>
    <input class="cba" type="checkbox" name="content1" value="1"<?php checked('1', $slct); ?>/>
</li>
<li>
    <input class="cbc" type="checkbox" name="content2" value="2"<?php checked('2', $copy); ?>/>
</li>
<li>
    <input class="cbx" type="checkbox" name="content3" value="3"<?php checked('3', $cut); ?>/>
</li>
</form>

こんにちは、チェックボックスのトグル オプションをすべてチェックし、すべてチェックを外しました。まだすべてをチェックしてすべてのチェックを外しても機能しません。firebugで表示しているときにコンソールにエラーが表示されます。これが私が添付したスクリーンショットです。何を間違えたのかわかりません。

ここに画像の説明を入力

どんな提案も素晴らしいでしょう。

ありがとう、ヴィッキー

4

6 に答える 6

6

構文が正しくありません。あなたが欠けている.formsので、このように見えるはずです

document.forms[formName].getElementsByTagName("input");
于 2013-07-05T07:58:47.383 に答える
2
  function checkAll(formname, checktoggle)
    {
        var checkboxes = new Array();
        checkboxes = document.forms[formname].getElementsByTagName('input');

        for (var i = 0; i < checkboxes.length; i++) {
            if (checkboxes[i].type === 'checkbox') {
                checkboxes[i].checked = checktoggle;
            }
        }
    }
</script>

最後に @Mark Walters の提案に基づいて、問題を修正します。これが彼の提案に基づいて変更したものです。ご助力いただきありがとうございます。幸せな日

于 2013-07-05T07:59:46.917 に答える
1
function checkAll(bx) {
  var cbs = document.getElementsByTagName('input');
  for(var i=0; i < cbs.length; i++) {
    if(cbs[i].type == 'checkbox') {
    cbs[i].checked = bx.checked;
   }
 }
}

チェックボックスの onclick 属性からその関数を呼び出して、すべてをチェックします。

<input type="checkbox" onclick="checkAll(this)">
于 2013-07-05T07:56:39.063 に答える
0

これを試して:

function checkAll(formname, checktoggle)
{
    var checkboxes = new Array();

    checkboxes = document.form.myform.getElementsByTagName('input');

    for (var i = 0; i < checkboxes.length; i++) {
        if (checkboxes[i].type === 'checkbox') {
               checkboxes[i].checked = checktoggle;
        }
    }
}
于 2013-11-19T16:16:15.310 に答える