当前位置:首页 > JavaScript

js 实现全选

2026-04-03 22:39:46JavaScript

实现全选功能的方法

在JavaScript中实现全选功能,可以通过操作DOM元素的checked属性来控制复选框的状态。以下是两种常见的实现方式:

方式一:通过ID获取全选复选框和目标复选框组

js 实现全选

// 获取全选复选框
const selectAll = document.getElementById('selectAll');
// 获取目标复选框组
const checkboxes = document.querySelectorAll('.item-checkbox');

// 监听全选复选框的点击事件
selectAll.addEventListener('change', function() {
    checkboxes.forEach(checkbox => {
        checkbox.checked = this.checked;
    });
});

方式二:通过事件委托实现动态元素的全选

js 实现全选

如果复选框是动态生成的,可以使用事件委托方式:

document.addEventListener('change', function(e) {
    if (e.target.id === 'selectAll') {
        const checkboxes = document.querySelectorAll('.item-checkbox');
        checkboxes.forEach(checkbox => {
            checkbox.checked = e.target.checked;
        });
    }
});

反向控制全选状态

当手动勾选部分复选框时,全选复选框的状态需要自动更新:

checkboxes.forEach(checkbox => {
    checkbox.addEventListener('change', function() {
        const allChecked = Array.from(checkboxes).every(cb => cb.checked);
        selectAll.checked = allChecked;
    });
});

完整示例代码

<input type="checkbox" id="selectAll"> 全选
<div class="item-list">
    <input type="checkbox" class="item-checkbox"> 选项1
    <input type="checkbox" class="item-checkbox"> 选项2
    <input type="checkbox" class="item-checkbox"> 选项3
</div>

<script>
    const selectAll = document.getElementById('selectAll');
    const checkboxes = document.querySelectorAll('.item-checkbox');

    selectAll.addEventListener('change', function() {
        checkboxes.forEach(checkbox => {
            checkbox.checked = this.checked;
        });
    });

    checkboxes.forEach(checkbox => {
        checkbox.addEventListener('change', function() {
            const allChecked = Array.from(checkboxes).every(cb => cb.checked);
            selectAll.checked = allChecked;
        });
    });
</script>

注意事项

  • 确保复选框的类名或ID选择器匹配正确
  • 动态生成的元素需要使用事件委托或重新绑定事件
  • 在Vue/React等框架中,可以通过数据绑定更简单地实现全选功能

标签: 全选js
分享给朋友:

相关文章

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 // 获取所有…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 funct…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js验证码的实现

js验证码的实现

验证码的基本实现原理 验证码(CAPTCHA)的核心目标是区分人类用户和自动化程序。JavaScript可用于生成或验证客户端验证码,但需注意纯前端验证可能被绕过,通常需结合后端验证。 纯前端验证码…

js实现 拖动

js实现 拖动

实现拖动的步骤 HTML 结构 创建一个可拖动的元素和一个放置区域: <div id="draggable" draggable="true">拖动我</div> <d…