当前位置:首页 > jquery

jquery 全选

2026-04-08 01:32:34jquery

jQuery 实现全选功能

使用 jQuery 实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态设置其他复选框的选中状态。

HTML 结构示例

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

jQuery 代码实现

jquery 全选

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

$('.item').click(function() {
  if ($('.item:checked').length === $('.item').length) {
    $('#selectAll').prop('checked', true);
  } else {
    $('#selectAll').prop('checked', false);
  }
});

实现原理

  1. 全选控制
    监听全选复选框的点击事件,当被点击时获取其选中状态,并将该状态同步到所有子项复选框。

  2. 子项控制全选状态
    监听每个子项复选框的点击事件,检查所有子项是否都被选中。如果是,则设置全选复选框为选中状态;否则取消全选复选框的选中状态。

    jquery 全选

注意事项

  • 使用 prop() 方法而非 attr() 方法操作复选框的选中状态,因为 prop() 更可靠且性能更好。
  • 如果页面内容是动态加载的,需要使用事件委托(on() 方法)来绑定事件。

动态内容示例

$(document).on('click', '#selectAll', function() {
  $('.item').prop('checked', $(this).prop('checked'));
});

$(document).on('click', '.item', function() {
  if ($('.item:checked').length === $('.item').length) {
    $('#selectAll').prop('checked', true);
  } else {
    $('#selectAll').prop('checked', false);
  }
});

扩展功能

如果需要实现部分选中时全选复选框显示不确定状态(indeterminate),可以通过以下代码实现:

$('.item').click(function() {
  const checkedCount = $('.item:checked').length;
  const totalCount = $('.item').length;

  $('#selectAll').prop('indeterminate', checkedCount > 0 && checkedCount < totalCount);
  $('#selectAll').prop('checked', checkedCount === totalCount);
});

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

相关文章

jquery之家

jquery之家

jQuery之家相关资源 jQuery之家是一个提供jQuery插件、教程和资源的网站,适合开发者学习和使用jQuery技术。以下是关于jQuery之家的主要内容和资源: 网站内容 提供丰富的jQ…

jquery 元素

jquery 元素

jQuery 元素选择与操作 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。以下是 jQuery 中常用的元素选择与操作方法…

jquery图片

jquery图片

jQuery 图片操作 jQuery 提供了多种方法来处理图片,包括加载、显示、隐藏、动画效果等。以下是一些常见的 jQuery 图片操作方法: 动态加载图片 使用 jQuery 的 attr()…

jquery滚动

jquery滚动

jQuery 滚动事件监听 使用 jQuery 监听滚动事件可以通过 scroll() 方法实现。以下代码会在窗口滚动时触发回调函数: $(window).scroll(function() {…

jquery加载

jquery加载

jQuery 加载方法 使用 CDN 加载 jQuery 推荐通过公共 CDN(如 Google、Microsoft 或 jQuery 官方)加载,速度快且可能已被浏览器缓存。 <scri…

jquery 菜单

jquery 菜单

jQuery 菜单实现方法 使用 jQuery 创建动态菜单可以通过多种方式实现,以下是几种常见的方法: 基于 HTML 和 CSS 的基础结构 创建菜单的 HTML 结构通常使用无序列表 <…