21

Webページに100個のチェックボックスがあります。テストの目的で、これらすべてのボックスにチェックマークを付けたいのですが、手動でクリックすると時間がかかります。それらをチェックするための可能な方法はありますか?

おそらくJavaScriptまたはChromeコンソールウィンドウ、何か?

4

9 に答える 9

50

最も直接的な方法は、すべての入力を取得し、チェックボックスだけを除外して、チェックされたプロパティを設定することです。

var allInputs = document.getElementsByTagName("input");
for (var i = 0, max = allInputs.length; i < max; i++){
    if (allInputs[i].type === 'checkbox')
        allInputs[i].checked = true;
}

たまたまjQueryを使用している場合(テストのためにすべてのチェックボックスをオンにするだけで始めるべきだと言っているわけではありません)、簡単に行うことができます。

$("input[type='checkbox']").prop("checked", true);

またはFabricioが指摘するように:

$(":checkbox").prop("checked", true);
于 2012-06-06T04:44:36.027 に答える
17

純粋なJSメソッド、jQueryを使用しないでください。

[].forEach.call( document.querySelectorAll('input[type="checkbox"]'),function(el){
       el.checked=true;
     }
);​

ライブデモ

任意のWebページで使用するには、これをアドレスバーに貼り付けることができます

javascript:[].forEach.call(document.querySelectorAll('input[type="checkbox"]'),function(el){el.checked=true});

次に、それをブックマークにドラッグすると、ブックマークレットが作成されます。ページで使用する必要があるときはいつでもクリックするだけです。

于 2012-06-06T04:42:42.310 に答える
6

querySelectorAlljQueryが必要ない場合は、ここでの最良の選択です。

var ele = document.querySelectorAll("input[type=checkbox]");
for(var i=0;i<ele.length;i++){
    ele[i].checked = true;
}
//Done.
于 2012-06-06T04:43:16.247 に答える
5

jqueryを使用して、そのように簡単

$('input:checkbox').each(function () {
   // alert(this);
   $(this).attr('checked', true);
  });

または単に使用する

$('input:checkbox').prop('checked', true);// use the property

また

 $('input:checkbox').attr('checked', true); // by using the attribute
于 2012-06-06T04:51:11.787 に答える
2

このJSコードは、ページでチェックされているすべてのチェックボックスをオンにします。

var a = document.querySelectorAll('input[type="checkbox"]');
for (var i=0; i<a.length; i++)
    a[i].checked = true;​

ライブデモ

次に行う必要があるのは、たとえば、このブックマークレットメーカーを使用してブックマークレットを作成することです。これにより、次のブックマークレットコードが生成されます。

javascript:var a=document.querySelectorAll('input[type="checkbox"]');for(var i=0;i<a.length;i++)a[i].checked=true;%E2%80%8B

このURIをブックマークツールバーのブックマークに追加するだけで、ページのすべてのチェックボックスをオンにする必要があるときはいつでもクリックするだけです。=]

于 2012-06-06T04:47:14.873 に答える
2

複数チェックすべてチェック&すべてチェック解除ボックス

変更する必要があるのは、タグ'name'だけで、そのチューニングのオン/オフを変更できます。

<FORM>
    <input type="checkbox" name="item0[]" onclick="CheckAll(this)" />
    <input type="checkbox" name="item0[]" value="1" />
    <input type="checkbox" name="item0[]" value="2" />
    <input type="checkbox" name="item0[]" value="3" />
    <br>
    <input type="checkbox" name="item1[]" onclick="CheckAll(this)" />
    <input type="checkbox" name="item1[]" value="a" />
    <input type="checkbox" name="item1[]" value="b" />
    <input type="checkbox" name="item1[]" value="c" />
    <br>
    <input type="checkbox" name="item2" onclick="CheckAll(this)" />
    <input type="checkbox" name="item2" value="a1" />
    <input type="checkbox" name="item2" value="b2" />
    <input type="checkbox" name="item2" value="bc" />
</FORM>

<script>
    function CheckAll(x)
    {
        var allInputs = document.getElementsByName(x.name);
        for (var i = 0, max = allInputs.length; i < max; i++) 
        {
            if (allInputs[i].type == 'checkbox')
            if (x.checked == true)
                allInputs[i].checked = true;
            else
                allInputs[i].checked = false;
        }
    }
</script>
于 2013-02-15T04:00:57.813 に答える
1

開発者ツールを介してページ内のすべてのチェックボックスをチェックするで、この質問に対する回答を提供しました

つまり、開発ツールコンソール(F12)から次の方法で実行できます。

$$('input').map(i => i.checked = true)

また

$$('input[type="checkbox"').map(i => i.checked = true)

于 2017-04-18T21:05:44.247 に答える
1

これらのワンライナーの1つをブラウザコンソールに貼り付けるだけです。

すべてのチェックボックスにチェックを入れます。

document.querySelectorAll('input[type="checkbox"]').forEach(e => e.checked = true);

すべてのチェックボックスをオフにします。

document.querySelectorAll('input[type="checkbox"]').forEach(e => e.checked = false);

于 2020-07-15T09:40:02.253 に答える
-1
  function selectAll(elem)
  {
  for (i = 0; i < elem.length; i++)
    elem[i].checked = true ;
  }

ボタンをクリックすると、このメソッドを呼び出し、要素の名前を渡します(チェックボックス-すべて同じ名前である必要があります)。

于 2012-06-06T04:45:33.543 に答える