原生JavaScript实现复选框全选与全不选功能
作者:流萤时间:2026-10-23 20:08:39浏览:170
本文提供了一段简洁的原生JavaScript代码,用于实现HTML表单中复选框的全选和全不选功能。通过监听checkbox的点击事件,利用getElementsByName获取元素集合,遍历并设置checked属性,从而同步主复选框与子复选框的状态。
JavaScript实现复选框全选与全不选
本文展示了一段使用JavaScript实现复选框全选与全不选功能的具体代码示例,供读者参考。
该实现仅使用了几行原生JavaScript代码,逻辑简洁。开发者可在此基础上扩展反选功能。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>全选、全不选</title>
</head>
<body>
<table border="1">
<tr>
<td><input type="checkbox" name="mmAll" onclick="All(this, 'mm[]')"></td>
</tr>
<tr><td><input type="checkbox" value="1" name="mm[]" class="check" id="ids1" onclick="Item(this, 'mmAll')"></td></tr>
<tr><td><input type="checkbox" value="2" name="mm[]" class="check" id="ids2" onclick="Item(this, 'mmAll')"></td></tr>
<tr><td><input type="checkbox" value="3" name="mm[]" class="check" id="ids3" onclick="Item(this, 'mmAll')"></td></tr>
<tr><td><input type="checkbox" value="4" name="mm[]" class="check" id="ids4" onclick="Item(this, 'mmAll')"></td></tr>
<tr><td><input type="checkbox" value="5" name="mm[]" class="check" id="ids5" onclick="Item(this, 'mmAll')"></td></tr>
<tr><td><input type="checkbox" value="6" name="mm[]" class="check" id="ids6" onclick="Item(this, 'mmAll')"></td></tr>
</table>
</body>
</html>
<script type="text/javascript">
//Check all
function All(e, itemName)
{
var aa = document.getElementsByName(itemName);
for (var i=0; i < aa.length; i++)
aa[i].checked = e.checked; //得到那个总控的复选框的选中状态
}
//Single select
function Item(e, allName)
{
var all = document.getElementsByName(allName)[0];
if(!e.checked) all.checked = false;
else
{
var aa =document.getElementsByName(e.name);
for (var i=0; i<aa.length; i++)
if(!aa[i].checked) return;
all.checked= true;
}
}
</script>
运行效果如下图所示:

如需了解更多关于复选框的操作技巧,可查阅相关专题:JavaScript复选框操作汇总及jQuery复选框操作汇总。
以上内容即为本文的全部介绍,希望能为读者的学习带来帮助,欢迎继续支持本站。
作者最新文章
JavaScript将图片转换为Base64编码的两种途径
2026-11-05 16:43:05
怎么在 Vue 或 React 项目中正确集成 animate.js
2026-11-05 10:23:38
JS注册事件:addEventListener基础语法与参数详解
2026-11-05 08:44:56
JSP和JS的区别:运行环境与服务端/客户端职责解析
2026-11-04 23:34:36
pdf.js 官方下载地址:GitHub Release 获取预编译包
2026-11-04 23:07:27
