0

次のコードがあります。すべてのボックスをチェックしてからチェックを外すので、うまくいくようです。ただし、最初のラウンドの後、チェックとチェック解除を停止します。すべてのチェック ボックスに対して 1 回だけチェックを入れ、1 回チェックを外します。その後、ハイパーリンクのみが表示と非表示を切り替えます。

<script type="text/javascript">
      function selectAll(){
        $("input[type=checkbox]").each(function(){
          $(this).attr('checked', true);
        });
        $("#select_all").hide();
        $("#unselect_all").show();
      }

      function unselectAll(){
        $("input[type=checkbox]").each(function(){
          $(this).attr('checked', false);
        });
        $("#select_all").show();
        $("#unselect_all").hide();
      }
</script>
4

2 に答える 2

1

チェックされたプロパティで使用すると予期しない結果が得られるprop()代わりに使用してみてください。ここで使用する必要はありません。また、ページ上のすべてのチェックボックスに適用するのではなく、チェックボックスをグループ化するためにいくつかを割り当てます。クラスセレクターを使用して、同じチェックボックス (要素) を選択できます。attr()attr()each()classclass

 function selectAll(){
    $("input[type=checkbox]").prop('checked', true);
    $("#select_all").hide();
    $("#unselect_all").show();
  }

  function unselectAll(){
    $("input[type=checkbox]").prop('checked', false);
    $("#select_all").show();
    $("#unselect_all").hide();
  }
于 2013-07-25T04:12:55.797 に答える
1

.prop()の代わりに使用.attr():

<script type="text/javascript">
      function selectAll(){
        $("input[type=checkbox]").each(function(){
          $(this).prop('checked', true);
        });
        $("#select_all").hide();
        $("#unselect_all").show();
      }

      function unselectAll(){
        $("input[type=checkbox]").each(function(){
          $(this).prop('checked', false);
        });
        $("#select_all").show();
        $("#unselect_all").hide();
      }
</script>
于 2013-07-25T04:15:30.193 に答える