当前位置:首页 > 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 是两种不同理念的前端工具,jQuery 以 DOM 操作和事件驱动为核心,而 Vue.js 是数据驱动的现代化框架。如果想用 jQuery 实现类似 Vue 的功能(如…

jquery教程

jquery教程

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。其核心特点是“写得更少,做得更多”(Write Les…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

jquery插件库

jquery插件库

jQuery插件库推荐 jQuery插件库提供了丰富的扩展功能,帮助开发者快速实现常见的前端交互效果。以下是一些常用的jQuery插件库和资源: 1. 官方jQuery插件注册中心jQuery P…

jquery 面试题

jquery 面试题

以下是一些常见的 jQuery 面试题及其解答,涵盖基础概念、核心方法和实际应用场景。 jQuery 基础概念 jQuery 是什么? jQuery 是一个轻量级的 JavaScript 库,简化了…

jquery版本

jquery版本

jQuery是一个快速、简洁的JavaScript库,用于简化HTML文档遍历、事件处理、动画设计和Ajax交互。以下是关于jQuery版本的详细信息: jQuery版本分类 jQuery主要分为三…