JavaScript实现多组CheckBox全选与取消功能
作者:闭包旅人时间:2026-10-25 08:26:06浏览:93
本文介绍一种基于JavaScript的CheckBox全选与取消方案,支持同一页面多组独立操作。通过遍历input元素并匹配name属性,实现指定组的批量选中或取消。代码包含完整的JS函数定义及HTML调用示例,适用于需要分组管理复选框状态的前端场景。
JavaScript实现多组CheckBox全选与取消功能
该方法触发条件独立,支持全选或取消指定 name 的 CheckBox,允许同一页面存在多组独立的全选功能,具备高通用性。
界面展示效果如下:

实际运行效果演示:
<body> <input type="checkbox" name="test" value="" onclick="if(this.checked==true) { checkAll('test'); } else { clearAll('test'); }" /> 字母全选开关 <input type="checkbox" name="test" value="a" /> a <input type="checkbox" name="test" value="b" /> b <input type="checkbox" name="test" value="c" /> c <input type="checkbox" name="test" value="d" /> d <input type="checkbox" name="test" value="e" /> e <input type="checkbox" name="test" value="f" /> f <input type="checkbox" name="test" value="g" /> g <br> <input type="checkbox" name="num" value="" onclick="if(this.checked==true) { checkAll('num'); } else { clearAll('num'); }" /> 数字全选开关 <input type="checkbox" name="num" value="1" /> 1 <input type="checkbox" name="num" value="2" /> 2 <input type="checkbox" name="num" value="3" /> 3 <br><br> <input type="button" value="选择所有的字母" onclick="checkAll('test')" /> <input type="button" value="清空选中的字母" onclick="clearAll('test')" /> <br><br> <input type="button" value="选择所有的数字" onclick="checkAll('num')" /> <input type="button" value="清空选中的数字" onclick="clearAll('num')" /> </body> </body>[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
JavaScript 函数定义
具体代码实现如下:
<script type="text/javascript">
function checkAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++) {
if((el[i].type=="checkbox") && (el[i].name==name)) {
el[i].checked = true;
}
}
}
function clearAll(name) {
var el = document.getElementsByTagName('input');
var len = el.length;
for(var i=0; i<len; i++) {
if((el[i].type=="checkbox") && (el[i].name==name)) {
el[i].checked = false;
}
}
}
</script> HTML 结构
具体代码实现如下:
<input type="checkbox" name="test" value="" onclick="if(this.checked==true) { checkAll('test'); } else { clearAll('test'); }" /> 字母全选开关
<input type="checkbox" name="test" value="a" /> a
<input type="checkbox" name="test" value="b" /> b
<input type="checkbox" name="test" value="c" /> c
<input type="checkbox" name="test" value="d" /> d
<input type="checkbox" name="test" value="e" /> e
<input type="checkbox" name="test" value="f" /> f
<input type="checkbox" name="test" value="g" /> g
<br />
<input type="checkbox" name="num" value="" onclick="if(this.checked==true) { checkAll('num'); } else { clearAll('num'); }" /> 数字全选开关 <input type="checkbox" name="num" value="1" /> 1
<input type="checkbox" name="num" value="2" /> 2
<input type="checkbox" name="num" value="3" /> 3
<br />
<br />
<input type="button" value="选择所有的字母" onclick="checkAll('test')" /> <input type="button" value="清空选中的字母" onclick="clearAll('test')" /> <br />
<br />
<input type="button" value="选择所有的数字" onclick="checkAll('num')" /> <input type="button" value="清空选中的数字" onclick="clearAll('num')" />作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
