假设以下代码:
<input type="checkbox" name="categories[9507]">
是否有一个javascript命令可以简单地选择页面上的每个复选框?名称的数量仅略有变化。
我需要在一个页面上选择大约15000,而不是选择所有可用的:(
(我可以把它放入书签和点击,或者是萤火虫的控制台是最好的)
答案 0 :(得分: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;
}());
答案 1 :(得分:2)
自IE 4以来任何浏览器的简单脚本:
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 可以是包含相关复选框的任何元素,也可以是整个文档的任何元素。可以添加正则表达式测试以仅检查名称以“类别”开头的那些,例如
var re = /^categories/;
var input;
...
input = inputs[i];
if (input.type == 'checkbox' && re.test(input.name)) {
input.checked = true;
}
...
作为单行书签:
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;
缩短书签。如果需要,可以删除更多字符。
答案 2 :(得分:0)
$("input[type='checkbox']").attr('checked','checked');
答案 3 :(得分:-1)
使用http://api.jquery.com/checkbox-selector/
jQuery(':checkbox').click();