基于 jQuery 实现复选框全选与选中项查询功能

在 Web 开发中,复选框是常见的交互元素,尤其是在涉及批量操作、数据筛选等场景时,全选功能和选中项查询功能显得尤为重要。本文将介绍如何使用 HTML、CSS 和 jQuery 实现一个具备全选、反选以及选中项查询功能的复选框组,帮助开发者高效处理用户的选择操作。

一、功能概述

本次实现的功能主要包括以下几点:

  1. 全选与反选:通过标题栏的复选框,可以一键选中或取消选中内容区域的所有复选框。
  2. 联动更新:当内容区域的复选框全部被选中时,标题栏的复选框自动勾选;若有任意一个取消选中,标题栏复选框则取消勾选。
  3. 选中项查询:点击 “点击查询被勾选的复选框” 按钮,能够获取并展示当前被勾选的复选框数量和具体元素,方便后续数据处理。

效果图:

二、HTML 结构搭建

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title></title><style>body{text-align: center;}</style><script src="js/jquery-3.7.1.min.js"></script>
</head>
<body><div class="content"><div class="titleContent"><input type="checkbox" class="titleCheck" />标题部分</div><div class="aboutContent"><div><input type="checkbox" class="contentCheck" />内容1</div><div><input type="checkbox" class="contentCheck" />内容2</div><div><input type="checkbox" class="contentCheck" />内容3</div><div><input type="checkbox" class="contentCheck" />内容4</div><div><input type="checkbox" class="contentCheck" />内容5</div><div><input type="checkbox" class="contentCheck" />内容6</div></div><button class="searchBtn">点击查询被勾选的复选框</button></div><script>// 具体实现代码将在下文JavaScript部分详细说明</script>
</body>
</html>

上述 HTML 代码构建了基本的页面结构:

  • 外层div(类名为content)作为整体容器。
  • titleContent类的div包含标题栏的复选框(类名titleCheck),用于控制全选和反选操作。
  • aboutContent类的div内包含多个子div,每个子div中都有一个内容复选框(类名contentCheck),代表具体的可选内容。
  • 最后是一个按钮(类名searchBtn),用于触发选中项查询操作。

三、CSS 样式设计

body{text-align: center;
}

本次示例的 CSS 样式较为简洁,仅通过text-align: center;将页面内的元素居中显示,保证整体布局的美观性。实际开发中,可根据项目需求进一步细化复选框、按钮等元素的样式,如颜色、大小、边框等。

四、jQuery 功能实现

$(document).on('change', '.titleCheck', function() {// 获取全选 checkbox 的选中状态let isChecked = $(this).prop('checked');// 只选择当前页面显示的复选框进行操作$('.aboutContent .contentCheck').prop('checked', isChecked);// 更新全选按钮的状态let allChecked = $('.aboutContent .contentCheck').length === $('.aboutContent .contentCheck:checked').length;$('.titleCheck').prop('checked', allChecked);
});// 为单个复选框添加事件监听器
$(document).on('change', '.contentCheck', function() {// 只检查当前页面显示的复选框let allChecked = $('.aboutContent .contentCheck').length === $('.aboutContent .contentCheck:checked').length;$('.titleCheck').prop('checked', allChecked);
});$('.searchBtn').click(function() {// 获取当前页面所有被勾选的复选框let checkedCheckboxes = $('.aboutContent .contentCheck:checked');console.log(checkedCheckboxes);let checkedCount = checkedCheckboxes.length;console.log(checkedCount);
})

上述 jQuery 代码实现了核心功能:

  1. 全选与反选逻辑:监听.titleCheck复选框的change事件,当标题栏复选框状态改变时,将内容区域所有.contentCheck复选框的状态设置为相同;随后检查内容区域复选框是否全部被选中,若全部选中则勾选标题栏复选框,否则取消勾选。
  2. 联动更新逻辑:监听.contentCheck复选框的change事件,每次内容区域的复选框状态改变时,检查所有内容复选框是否都处于选中状态,若全部选中则勾选标题栏复选框,否则取消勾选,实现两者状态的联动。
  3. 选中项查询逻辑:监听.searchBtn按钮的click事件,通过选择器.aboutContent .contentCheck:checked获取所有被勾选的内容复选框,将其打印到控制台,同时获取并打印被勾选的复选框数量,方便开发者进行后续的数据处理或展示。

五、配置与扩展

  1. 配置修改:若需要修改页面结构中的类名,可直接在 HTML 和 JavaScript 代码中修改.aboutContent(内容区域类名)、.titleCheck(标题栏复选框类名)、.contentCheck(内容复选框类名),确保两者保持一致即可正常运行。
  2. 功能扩展:在获取到选中的复选框后,开发者可以根据实际需求进行数据提交、页面跳转、高亮显示等更多操作,如将选中项的数据发送到后端接口,或在页面上展示选中项的具体信息。

通过以上 HTML、CSS 和 jQuery 代码的结合,我们成功实现了一个功能实用的复选框全选与选中项查询系统。该系统结构清晰、易于扩展,能够满足多种 Web 开发场景下的复选框操作需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/79743.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/79743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AfuseKt2.4.2 | 支持阿里云盘、Alist等平台视频播放,具备自动海报墙刮削功能的强大播放器

AfuseKt是一款功能强大的安卓端在线视频播放器&#xff0c;支持播放阿里云盘、Alist、WebDAV等平台的视频内容。它具备自动海报墙刮削功能&#xff0c;能自动生成影片信息和海报墙&#xff0c;提供良好的视觉体验。此外&#xff0c;它还支持倍速播放、字幕、音轨切换等多种实用…

Netlink在SONiC中的应用

Netlink在SONiC中的应用 Netlink介绍 Netlink 是 Linux 内核态程序与用户空间程序之间进行通信的机制之一&#xff0c;原本是用于传递网络协议栈中的各种控制消息。它采用和套接字&#xff08;socket&#xff09;编程接口相同的形式&#xff0c;常用于配置内核网络子系统&…

语音合成之十一 提升TTS语音合成效果:低质量数据清洗、增强与数据扩增

低质量数据清洗、增强与数据扩增 1. 引言&#xff1a;TTS的基石——数据质量2. 基础&#xff1a;TTS数据准备工作流2.1 规划&#xff1a;定义蓝图2.2 执行&#xff1a;从原始数据到训练就绪格式2.3 最佳实践与可复现性 3. 攻克缺陷&#xff1a;低质量语音数据的清洗与增强3.2 手…

Java IO流分类与记忆方法

Java IO流分类与记忆方法 在Java IO流体系中,理解节点流和包装流的区别是掌握IO编程的关键。 一、核心分类标准 1. 节点流(Node Stream) 直接对接数据源:直接连接物理IO设备(文件、网络、内存等)基础功能:提供最基础的读写能力命名特征:通常包含数据源类型名称(如Fi…

架构师如何构建个人IP:职业规划与业务战略的双重提升

在数字化时代&#xff0c;软件架构师的角色已从单纯的技术专家转变为兼具技术领导力和业务影响力的复合型人才。如何构建个人IP&#xff0c;提升行业影响力&#xff0c;成为架构师职业发展的关键课题。本文从个人认知、业务战略、架构决策、产品思维四个维度&#xff0c;探讨架…

vscode运行python的快捷键

以下是一些在 VS Code 中运行 Python 代码的常用快捷键&#xff1a; 运行 Python 文件 Windows/Linux &#xff1a;Ctrl F5。此快捷键会直接运行当前打开的 Python 文件&#xff0c;不会自动进入调试模式。若之前有配置过终端&#xff0c;一般会使用配置好的终端来运行&…

使用OpenCV 和 Dlib 实现疲劳检测

文章目录 引言1.相关技术介绍2. 系统原理2.1 眼睛纵横比(EAR)算法2.2 系统工作流程 3.代码解析3.1 关键函数说明3.2 主循环逻辑 4.实际应用效果5.参数调优建议6.总结 引言 疲劳驾驶是交通事故的主要原因之一。本文将介绍如何使用Python和计算机视觉技术构建一个实时疲劳驾驶检…

VBA实现后入先出(LIFO)库存统计

先入先出&#xff08;FIFO&#xff09;比较容易理解&#xff0c;买入早的优先卖出。与之对应的是后人先出&#xff08;LIFO&#xff09;&#xff0c;就是优先卖出最近买入的&#xff0c;例如&#xff1a;第8行卖出2K&#xff0c;当天还没有买入记录&#xff0c;只能找前一天的买…

Python中的客户端和服务端交互的基本内容

目录 网络协议 网络的通信方式 需要安装的组件和需要导入的包模块 安装的组件 导入包模块 如何创建客户端 如何创建服务端 网络协议 IPV4&#xff1a;是互联网协议的第四版&#xff0c;也是目前广泛使用的网络协议。它使用32位地址格式&#xff0c;理论上可以提供约43亿…

【硬核攻坚】告别CUDA OOM!DeepSeek部署显存瓶颈终极解决方案:三大策略高效落地

目录 引言:大模型落地的“甜蜜”与“烦恼”DeepSeek剖析:为何它如此“吃”显存?CUDA OOM的“幽灵”:现象、根因与诊断破局之道:三大策略驯服显存“猛兽” 策略一:模型量化 - 给模型“瘦身”的艺术策略二:动态优化 - 榨干硬件潜能策略三:分布式扩展 - 集群的力量实战演练…

JavaSE核心知识点01基础语法01-01(关键字、标识符、变量)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 JavaSE核心知识点01基础语法01-01&#xff0…

【最新Python包管理工具UV的介绍和安装】

介绍 uv是一个非常快的 Python 包安装程序和 pip 解析器&#xff0c;用 Rust 编写&#xff0c;设计为pip-tools的直接替代品。 以下是官网给出的UV与其他包管理工具解决依赖&#xff08;左&#xff09;和安装包&#xff08;右&#xff09;的对比图。 可以看出UV是一个极快的 P…

麒麟、UOS系统在线打开word文件并提取修订痕迹

麒麟、UOS系统在线打开word文件并提取修订痕迹 查看本示例演示效果&#xff08;Windows版&#xff09; 查看本示例演示效果&#xff08;国产版&#xff09;本示例关键代码的编写位置&#xff0c;请参考“开始 - 快速上手”里您所使用的开发语言框架的最简集成代码 注意 本文中…

【SpringAI+阿里云百炼】AI对话4个Demo

基于SpringAI和阿里云百炼平台&#xff0c;实现了四个AI对话的小Demo 小团团对话机器人哄哄模拟器培训班智能客服仿ChatPDF 笔记如下:语雀知识笔记《SpringAI》

【数据结构】单链表的增删查改

本文是小编巩固自身而作&#xff0c;如有错误&#xff0c;欢迎指出&#xff01; 1.链表的概念 概念&#xff1a;链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的 指针链接次序实现的。 和之前的顺序表不同&#xff0c;顺序一般…

LeetCode 1128.等价多米诺骨牌对的数量:计数

【LetMeFly】1128.等价多米诺骨牌对的数量&#xff1a;计数 力扣题目链接&#xff1a;https://leetcode.cn/problems/number-of-equivalent-domino-pairs/ 给你一组多米诺骨牌 dominoes 。 形式上&#xff0c;dominoes[i] [a, b] 与 dominoes[j] [c, d] 等价 当且仅当 (a …

以太坊智能合约开发框架:Hardhat v2 核心功能从入门到基础教程

一、设置项目 Hardhat 项目是安装了 hardhat 包并包含 hardhat.config.js 文件的 Node.js 项目。 操作步骤&#xff1a; ①初始化 npm npm init -y②安装 Hardhat npm install --save-dev hardhat③创建 Hardhat 项目 npx hardhat init如果选择 Create an empty hardhat.…

安卓基础(无障碍点击)

无障碍点击核心代码 // 自定义无障碍服务类&#xff0c;继承自Android系统的AccessibilityService public class MyAccessibilityService extends AccessibilityService {// 当系统产生无障碍事件时的回调方法&#xff08;如界面变化、焦点切换等&#xff09;Overridepublic v…

阿里云服务迁移实战: 05-OSS迁移

概述 Bucket 复制分为两种&#xff0c;同区域复制和跨区域复制 同账号复制比较简单&#xff0c;根据提示填写信息即可&#xff0c;本文主要介绍跨账号复制。 同区域复制 授权角色选择 “AliyunOSSRole”, 创建方法见 “跨区域复制”。然后点击确定即可。 跨区域复制 假设我…

Qt 的信号与槽机制依赖元对象系统(Meta-Object System)实现

内部数据结构 在 Qt 中,信号和槽之间的连接主要通过 QObject 类及其相关的私有类进行管理。每个 QObject 实例都维护着一个指向其 QMetaObject 的指针,该对象包含了有关类的所有元信息,包括信号、槽等。此外,还有一个关键的数据结构用于存储信号与槽之间的连接信息,即 Co…