1

次のコードを想定しています。

<input type="checkbox" name="categories[9507]">

ページ上のそのようなすべてのチェックボックスを簡単に選択できるjavascriptコマンドはありますか?名前は数字だけでわずかに変わります。

利用可能なすべてを選択せず​​に、ページで約15000を選択する必要があります:(

(ブックマークに入れてクリックできるもの、またはFirebugのコンソールが最適です)

4

4 に答える 4

4

純粋なJS、最新のブラウザのみ(IE 8以降、FF 3.5以降、Opera 10以降、Safari 3.2以降、Chrome 1以降):

(function() {
    var chs = document.querySelectorAll​('input[type="checkbox"][name^="categories"]')​​​​​​​​​​​​​​​​​​​​​​​​​​​​;
    for (var i=0; i<chs.length; i++) chs[i].checked = true;
}());

フィドル

QSAリファレンス

于 2012-08-27T03:08:55.240 に答える
2

IE4以降のすべてのブラウザのプレーンスクリプト。

function checkAllCheckboxes(root) {
  root = root || document;
  var inputs = root.getElementsByTagName('input');
  for (var i=0, iLen=inputs.length; i<iLen; i++) {
    if (inputs[i].type == 'checkbox') inputs[i].checked = true;
  }
}

rootは、問題のチェックボックスを含む任意の要素にすることも、ドキュメント全体に対して何も含めることもできません。正規表現テストを追加して、名前が「categories」で始まるものだけをチェックできます。

  var re = /^categories/;
  var input;
    ...
      input = inputs[i];
    if (input.type == 'checkbox' && re.test(input.name)) {
      input.checked = true;
    }
  ...

1行のブックマークとして:

javascript:var e,es=document.getElementsByTagName('input'),i=0,iL=es.length,r=/^categories/;for(;i<iL;){e=es[i++];if(e.type=="checkbox"&&r.test(e.name))e.checked=true}void 0;

編集

ブックマークを短くしました。必要に応じて、さらに数文字を削除できます。

于 2012-08-27T03:17:39.820 に答える
0
$("input[type='checkbox']").attr('checked','checked');​​​​​​​​​​​​​​​​​​​​
于 2012-08-27T03:08:12.573 に答える
-1

http://api.jquery.com/checkbox-selector/を使用します

jQuery(':checkbox').click();
于 2012-08-27T03:07:16.623 に答える