通过原生JavaScript可实现复选框全选、反选与状态同步:1. 用checkAll控制所有item类复选框的选中状态;2. 通过循环遍历将每个item的checked属性取反实现反选;3. 监听每个子项的change事件,判断是否全部选中以同步“全选”状态。

实现复选框的全选和反选功能是前端开发中常见的需求,JavaScript 提供了简单有效的方式来操作 DOM 元素完成这一功能。下面介绍如何通过原生 JavaScript 实现复选框的全选与反选。
1. HTML 结构准备
首先需要一个“全选”主复选框和多个子复选框:
选项1
选项2
选项3
选项4
2. 全选功能实现
监听“全选”复选框的点击事件,将其状态同步给所有子复选框:
document.getElementById('checkAll').onclick = function() { const items = document.getElementsByClassName('item'); for (let i = 0; i < items.length; i++) { items[i].checked = this.checked; }};
说明:当“全选”被勾中时,所有 class 为 item 的复选框都被设为选中;取消勾选则全部取消。
立即学习“Java免费学习笔记(深入)”;
3. 反选功能实现
添加一个“反选”按钮,点击时将每个子复选框的状态取反:
document.getElementById('reverseBtn').onclick = function() { const items = document.getElementsByClassName('item'); for (let i = 0; i < items.length; i++) { items[i].checked = !items[i].checked; }};
如果想在没有额外按钮的情况下实现反选,也可以绑定在某个快捷键或双击事件上。
4. 智能全选状态同步(可选增强)
当用户手动选择所有子项时,自动勾中“全选”框;当任意一个子项取消时,取消“全选”状态:
const items = document.getElementsByClassName('item');for (let i = 0; i < items.length; i++) { items[i].onchange = function() { const checkAll = document.getElementById('checkAll'); let allChecked = true; for (let j = 0; j < items.length; j++) { if (!items[j].checked) { allChecked = false; break; } } checkAll.checked = allChecked; };}
这样可以提升用户体验,让“全选”框状态更准确地反映子项选择情况。
基本上就这些。通过简单的 DOM 操作和事件监听,就能轻松实现复选框的全选、反选及状态同步功能,不复杂但容易忽略细节。实际项目中建议封装成函数以便复用。
以上就是JavaScript如何实现全选反选_JavaScript复选框全选反选功能代码实现方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1538886.html
微信扫一扫
支付宝扫一扫