当前位置:首页 > jquery

jquery全选

2026-01-16 14:56:25jquery

jQuery实现全选功能的方法

使用jQuery实现全选功能可以通过监听复选框的点击事件,动态控制其他复选框的状态。以下是几种常见实现方式:

jquery全选

基础全选/取消全选

通过监听全选复选框的change事件,设置其他复选框的选中状态与其一致:

jquery全选

$('#selectAll').change(function() {
    $('.item-checkbox').prop('checked', $(this).prop('checked'));
});

联动状态更新

当子选项全部选中时自动勾选全选复选框,部分选中时保持全选复选框的中间状态:

$('.item-checkbox').change(function() {
    var allChecked = $('.item-checkbox:checked').length === $('.item-checkbox').length;
    var anyChecked = $('.item-checkbox:checked').length > 0;

    $('#selectAll').prop('checked', allChecked);
    $('#selectAll').prop('indeterminate', anyChecked && !allChecked);
});

表格行全选示例

针对表格场景的全选实现,同时可添加行高亮效果:

$('#selectAll').click(function() {
    var isChecked = $(this).is(':checked');
    $('.row-checkbox').prop('checked', isChecked);
    $('table tr').toggleClass('selected', isChecked);
});

$('.row-checkbox').click(function() {
    $(this).closest('tr').toggleClass('selected', $(this).is(':checked'));
});

注意事项

  • 使用prop()而非attr()操作复选框状态,因为prop()能正确反映动态变化
  • 事件委托适用于动态生成的元素:$(document).on('change', '.item-checkbox', function() {...})
  • 对于大量DOM操作,建议使用事件委托提高性能

完整示例代码

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

<script>
$(function() {
    // 全选控制
    $('#selectAll').change(function() {
        $('.item-checkbox').prop('checked', this.checked);
    });

    // 子选项影响全选状态
    $('.item-checkbox').change(function() {
        var allChecked = $('.item-checkbox').length === $('.item-checkbox:checked').length;
        $('#selectAll').prop('checked', allChecked);
    });
});
</script>

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

相关文章

jquery实现vue

jquery实现vue

jQuery 和 Vue.js 是两种不同理念的前端工具,前者基于 DOM 操作,后者基于数据驱动。虽然 Vue 可以替代 jQuery 的大部分功能,但若需在 Vue 中临时集成 jQuery 或模…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

jquery地址

jquery地址

jQuery 官方地址 jQuery 的官方网站和 CDN 地址如下: 官网:https://jquery.com/ CDN 链接(通过 jQuery 官网提供): <script…

引用jquery

引用jquery

以下是关于引用 jQuery 的几种常见方法: 通过 CDN 引用 使用公共内容分发网络(CDN)加载 jQuery,例如 Google 或 Microsoft 提供的 CDN。这种方式加载速度快且…

jquery清空

jquery清空

使用 jQuery 清空元素内容的方法 清空 HTML 元素内容 使用 .empty() 方法可以移除选定元素的所有子节点(包括文本和子元素)。 $("#elementId").empty();…

jquery 查询

jquery 查询

jQuery 查询方法 jQuery 提供了多种方法来查询和操作 DOM 元素,以下是一些常用的查询方法: 基本选择器 使用 $() 或 jQuery() 函数可以通过 CSS 选择器查找元素:…