复选框选择示例【JavaScript】

这段代码实现的功能是一个简单的复选框示例,它可以进行全选、反选和取消选中操作。

实现功能:

1. 全选:当点击标签"全选"旁边的复选框时,该页面上所有具有"item"类的复选框都会被选中(或者取消选中,如果它们之前都被选中了)。

2. 反选:当点击"反选"按钮时,当前的复选框会反转它们的选中状态。如果一个选项被选中了,点击按钮后它就会被取消选中;如果一个选项未选中,点击按钮后它就会被选中。

3. 取消选中:当点击"取消选中"按钮时,所有具有"item"类的复选框都会被取消选中,并且"全选"复选框也会自动被取消选中,表示整个列表中没有任何选项被选中。

代码:

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>全选、反选、取消选中</title><style>div {border: 1px solid #000;width: 260px;margin-top: 20px;margin-bottom: 20px;}</style></head><body><h1>复选框选择示例</h1><label><input type="checkbox" id="selectAll"> 全选</label><div><label><input type="checkbox" class="item"> 选项 1</label><label><input type="checkbox" class="item"> 选项 2</label><label><input type="checkbox" class="item"> 选项 3</label></div><button id="invertSelection">反选</button><button id="clearSelection">取消选中</button><script>document.addEventListener('DOMContentLoaded', function() {const selectAllCheckbox = document.getElementById('selectAll');const itemCheckboxes = document.querySelectorAll('.item');const invertButton = document.getElementById('invertSelection');const clearButton = document.getElementById('clearSelection');// 全选功能selectAllCheckbox.addEventListener('click', function() {itemCheckboxes.forEach(checkbox => {checkbox.checked = selectAllCheckbox.checked;});});// 反选功能// invertButton.addEventListener('click', function() {// 	itemCheckboxes.forEach(checkbox => {// 		checkbox.checked = !checkbox.checked;// 	});// 	selectAllCheckbox.checked = false; // 同时取消全选// });// 反选功能invertButton.addEventListener('click', function() {let allUnchecked = true; // 检查是否所有复选框未选中itemCheckboxes.forEach(checkbox => {if (checkbox.checked) {allUnchecked = false; // 只要有一个复选框选中,就不是全部未选中}checkbox.checked = !checkbox.checked; // 反选操作});// 如果全部未选中,则选中全选selectAllCheckbox.checked = allUnchecked;});// 取消选中功能clearButton.addEventListener('click', function() {itemCheckboxes.forEach(checkbox => {checkbox.checked = false;});selectAllCheckbox.checked = false; // 同时取消全选});});</script></body>
</html>

部分代码解析:

				// 全选功能selectAllCheckbox.addEventListener('click', function() {itemCheckboxes.forEach(checkbox => {checkbox.checked = selectAllCheckbox.checked;});});

这段JavaScript代码是关于一个“全选”复选框(selectAllCheckbox)的功能。当用户点击这个“全选”复选框时,它会触发一个事件,这个事件会遍历一个复选框数组(itemCheckboxes),并将数组中每个复选框的选中状态checked设置为与“全选”复选框的选中状态相同。

下面是代码的详细解析:

selectAllCheckbox.addEventListener('click', function() {...});
  • 这行代码给selectAllCheckbox(代表“全选”复选框的元素)添加了一个点击事件监听器。当用户点击这个复选框时,会执行提供的函数。
itemCheckboxes.forEach(checkbox => {...});
  • 这行代码使用forEach方法来遍历itemCheckboxes数组。itemCheckboxes很可能是一个包含页面上其他复选框元素的数组。
checkbox.checked = selectAllCheckbox.checked;
  • forEach的回调函数内部,这行代码将每个checkbox(即itemCheckboxes数组中的每个元素)的checked属性设置为selectAllCheckboxchecked属性值。换句话说,它确保了当“全选”复选框被选中或取消选中时,数组中的所有其他复选框也会被相应地选中或取消选中。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

linux基础(二)远程连接、cd、rm、cp、mv、cat、绝对路径、管道符、

1.远程链接: SecureCRT、xshell&#xff1a;windows连接linux的工具 SecureFX、xftp&#xff1a;用于远程传输文件。 远程连接&#xff1a; windows远程连接windows&#xff1a;mstsc administrator windows远程连接linux&#xff1a;SecureCRT、xshell、 linux远程…

DK5V100R20H 同步整流芯片12V2.4A 封装SM-7

高性能双引脚同步整流芯片 DK5V100R20H是一款简单高效率的同步整流芯片&#xff0c;只有A&#xff0c;K两个引脚&#xff0c;分别对应肖特基二极管的PN管脚。芯片内部集成了100V功率NMOS管&#xff0c;可以大幅降低二极管导通损耗&#xff0c;提高整机效率&#xff0c;取代或替…

Docker全家桶:技术架构演进之路

在学习Docker之前&#xff0c;我们需要了解每种技术架构以及如何演进的&#xff0c;熟悉Docker在架构中的核心作用。在此&#xff0c;我们介绍一个从百级别的并发到千万级别甚至亿级别的并发情况下&#xff0c;服务端架构的演进过程&#xff0c;同时列举出每个阶段会遇到的问题…

LLM大模型一些碎片知识

预训练和微调 预训练阶段&#xff1a;使用公开数据经过预训练过程得到预训练模型&#xff0c;预训练模型具备语言的初步理解&#xff1b;训练周期比较长&#xff1b;微调阶段1&#xff1a;SFT&#xff08;指令微调/有监督微调&#xff09;。如果想要预训练模型在某个垂直领域&a…

本周宣讲提醒-线上专场——香港科技大学工学院2025/2026年度硕士研究生(MSc)项目招生宣讲会

&#x1f4c6;本周宣讲提醒-线上专场 &#x1f514;香港科技大学工学院2025/2026年度硕士研究生&#xff08;MSc&#xff09;项目招生宣讲会 &#x1f4cd;香港科技大学工学院大挑战研究暨研究生课程信息网络研讨会-线上专场 &#x1f559;时间&#xff1a;2024年9月24日&…

共享打印机,局域网搜不到

如果共享打印机后&#xff0c;局域网内其余机器检索不到 1. 排查 是否启用来宾账户&#xff08;Guest&#xff09; 2. 网络和共享中心->更改高级共享设置->启用网络发现、启用文件和打印机共享、关闭密码保护共享 排查基本可以解决搜索不到打印机问题

springboot书画在线学习网站-计算机毕业设计源码11849

摘 要 本篇论文旨在设计和开发基于SpringBoot的书画在线学习网站&#xff0c;提供用户便捷的学习方式和丰富的学习资源。在该系统中&#xff0c;用户可以通过网站浏览书画的相关内容&#xff0c;包括诗公告消息、书画资讯、课程信息等。同时&#xff0c;系统还将提供书画的学习…

【计算机方向】一区TOP神刊,刊文量>1000+,影响因子高,最快一个月accept!

期刊解析 &#x1f6a9;本 期 期 刊 看 点 &#x1f6a9; 中科院一区TOP期刊&#xff01; 审稿友好&#xff0c;IF10.2&#xff0c;自引率12.7% 最新年度发文1020。 今天小编带来计算机领域SCI快刊的解读&#xff01; 如有相关领域作者有意投稿&#xff0c;可作为重点关注…

2000-2012年各地级市市长特征信息数据/市长特征信息大全数据

2000-2012年各地级市市长特征信息数据 1、时间&#xff1a;2000-2012年 2、来源&#xff1a;百度搜索手工整理 3、指标&#xff1a;省级政区代码、省级政区名称、地市级政区代码、地市级政区名称、年份、市长姓名、出生年份、出生月份、籍贯省份代码、籍贯省份名称、籍贯地市…

信号分解降噪 | Matlab实现基于TVFEMD-IMF能量熵增量的数据降噪方法

信号分解降噪 | Matlab实现基于TVFEMD-IMF能量熵增量的数据降噪方法 目录 信号分解降噪 | Matlab实现基于TVFEMD-IMF能量熵增量的数据降噪方法效果一览基本介绍程序设计参考资料 效果一览 基本介绍 信号分解降噪 | Matlab实现基于TVFEMD-IMF能量熵增量的数据降噪方法。该方法引…

???Ansible——Playbook基本功能

文章目录 一、Ansible Playbook介绍1、Playbook的简单组成1&#xff09;“play”2&#xff09;“task”3&#xff09;“playbook” 2、Playbook与ad-hoc简单对比区别联系 3、YAML文件语法&#xff1a;---以及多个---&#xff1f;&#xff1f;使用 include 指令 1. 基本结构2. 数…

亿发电脑端513版本更新,销售开单、财务账目等多个板块细节优化

如果您正寻求突破传统业务模式的束缚&#xff0c;希望拥抱数字化转型带来的无限可能&#xff0c;我们诚邀您体验亿发软件。亿发专业团队将为您提供个性化的咨询和定制服务&#xff0c;帮助您的企业快速适应市场变化&#xff0c;实现业务模式和商业模式的创新。

信创集成项目管理师含金量高不高?适合谁学?能否评职称?

信创是指信息技术应用创新&#xff0c;是工信部教育与考试中心推出的认证项目。这一认证项目积极响应了国家关于信息技术应用创新战略的部署&#xff0c;特别是在国资委79号文件的指导下&#xff0c;加速推进了国有企业信息化系统的国产化改造进程。未来几年内&#xff0c;将按…

写文档-画UML图-编程的秘密武器:Kimi智能助手

在快速发展的软件开发领域&#xff0c;如何高效地编写需求分析文档、软件设计文档以及代码&#xff0c;成为每位程序员和架构师面临的重要挑战。今天&#xff0c;我要向大家介绍一款强大的工具——Kimi智能助手&#xff0c;它将帮助你提升工作效率&#xff0c;优化开发流程。 …

2003-2022年各省区域创新能力评价相关指标数据(报告年份2003-2022年)

2003-2022年各省区域创新能力相关指标数据&#xff08;报告年份2003-2022年&#xff09; 1、来源&#xff1a;2003-2022年中国区城创新能力评价报告 2、指标&#xff1a;综合值、知识创造综合指标、研究开发投人综合指标、专利综合指标、科研论文综合指标、知识获取综合指标、…

【LeetCode】动态规划—斐波那契数列(附完整Python/C++代码)

动态规划—#509. 斐波那契数列 前言题目描述基本思路1. 斐波那契数列的定义2. 理解递推关系3. 递归方法&#xff08;直观但效率低&#xff09;4. 动态规划方法 (高效)步骤&#xff1a; 5. 进一步优化: 只用常量空间步骤: 小总结: 代码实现Python3代码实现Python 代码解释C代码实…

专业视频编辑软件 MAGIX VEGAS Pro v21 中文授权版

MAGIX VEGAS Pro 是由德国MAGIX公司推出的一款专业视频编辑软件&#xff0c;软件支持8K/4K超清视频剪辑制作&#xff0c;具有无可替代的优势&#xff0c;包括业界领先的硬件加速、人工智能驱动的工具、复杂的颜色分级选项、业界领先的HDR支持、大量OFX特效插件和音视频插件脚本…

excel数据常用函数学习记录

1、VLOOKUP查询函数&#xff0c;匹配数据返回 vlookup(查找值,查找范围,要查找的值在第几列,0表示精确查找) enter键返回 例如&#xff1a;在E列中返回&#xff0c;A列的值与D列一致的对应的B值。只会返回查找到的第一个 如果需要把查找到的匹配的数据都返回到单元格中&…

STM32F407单片机编程入门(十六) DMA详解及ADC-DMA方式采集含源码

文章目录 一.概要二.STM32F407VET6单片机DMA外设特点三.STM32F407单片机DMA内部结构图四.DMA各通道请求五.STM32F407VET6单片机ADC-DMA采集例程六.工程源代码下载七.小结 一.概要 基本概念&#xff1a; DMA是Direct Memory Access的首字母缩写,是一种完全由硬件执行数据交换的…

Kali Linux 2024.3

新版本&#xff0c;新特性 Kali Linux 2024.3 版本带来了一系列新功能和优化改进&#xff0c;包括但不限于&#xff1a; 新增对高通骁龙 SDM845 芯片的支持&#xff1a;Kali NetHunter Pro 设备现在支持更多设备&#xff0c;提升了 Kali 移动渗透测试平台的兼容性和实用性 系统…