选择整个页面上的每个复选框

时间:2012-08-27 03:03:05

标签: javascript html

假设以下代码:

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

是否有一个javascript命令可以简单地选择页面上的每个复选框?名称的数量仅略有变化。

我需要在一个页面上选择大约15000,而不是选择所有可用的:(

(我可以把它放入书签和点击,或者是萤火虫的控制台是最好的)

4 个答案:

答案 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;
}());

Fiddle

QSA Reference

答案 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();