次のコードを想定しています。
<input type="checkbox" name="categories[9507]">
ページ上のそのようなすべてのチェックボックスを簡単に選択できるjavascriptコマンドはありますか?名前は数字だけでわずかに変わります。
利用可能なすべてを選択せずに、ページで約15000を選択する必要があります:(
(ブックマークに入れてクリックできるもの、またはFirebugのコンソールが最適です)
次のコードを想定しています。
<input type="checkbox" name="categories[9507]">
ページ上のそのようなすべてのチェックボックスを簡単に選択できるjavascriptコマンドはありますか?名前は数字だけでわずかに変わります。
利用可能なすべてを選択せずに、ページで約15000を選択する必要があります:(
(ブックマークに入れてクリックできるもの、またはFirebugのコンソールが最適です)
純粋な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;
}());
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;
ブックマークを短くしました。必要に応じて、さらに数文字を削除できます。
$("input[type='checkbox']").attr('checked','checked');
http://api.jquery.com/checkbox-selector/を使用します
jQuery(':checkbox').click();