首先实现全选功能,通过监听“全选”复选框的点击事件将其状态同步给所有子复选框;接着添加反选按钮,点击时对每个子复选框的状态取反;最后当用户手动选择部分项时,动态检测是否全部选中,自动更新“全选”复选框状态。

在网页开发中,复选框的全选和反选功能非常常见,比如在邮件系统或后台管理列表中。使用 JavaScript 可以轻松实现这一交互效果。下面介绍如何编写一个简单高效的 JS 脚本实现全选与反选功能。
首先准备 HTML 结构,包含一个“全选”主复选框和多个子复选框:
<input type="checkbox" id="checkAll" /> 全选<br /> <input type="checkbox" class="item" value="1" /> 选项1<br /> <input type="checkbox" class="item" value="2" /> 选项2<br /> <input type="checkbox" class="item" value="3" /> 选项3<br /> <input type="checkbox" class="item" value="4" /> 选项4<br />
通过监听“全选”复选框的点击事件,将其状态同步给所有子复选框:
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 的复选框都被设为选中;取消勾选则全部清除。
添加一个反选按钮,点击时对每个子复选框的状态取反:
function toggleSelect() {
const items = document.getElementsByClassName('item');
for (let i = 0; i < items.length; i++) {
items[i].checked = !items[i].checked;
}
}
HTML 中加入反选按钮:
<button onclick="toggleSelect()">反选</button>
当用户手动选择部分复选框时,应动态更新“全选”框的状态(全部选中时自动勾上,否则不勾):
const items = document.getElementsByClassName('item');
for (let i = 0; i < items.length; i++) {
items[i].onclick = function() {
const allChecked = Array.from(items).every(el => el.checked);
document.getElementById('checkAll').checked = allChecked;
};
}
这里使用 Array.from() 将类数组转为数组,并用 every() 判断是否全部选中。
基本上就这些。通过简单的 DOM 操作和事件绑定,就能实现完整的全选、反选和状态同步功能。这个脚本兼容性好,无需依赖框架,适合大多数项目直接使用。
以上就是js脚本怎么实现全选反选功能_js复选框全选脚本编写与实例的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号