JavaScript 实现全选、全不选和反选功能

2023-10-30

网页中使用到表单复选框时,如果有大量的数据需要选择,经常会用到全选或者反选功能,也可能会用到全不选功能,其实是全选的反选,下面使用原生的js来实现一下全选、全不选和反选功能。

声明:文章转载链接出自:JavaScript 实现全选、全不选和反选功能_js全选和全不选代码_梁辰兴的博客-CSDN博客

一,设计HTML页面

使用input标签的type属性为checkbox来创建多个复选框,input标签的type属性为button创建全选、全不选和反选按钮。HTML实现代码如下:

界面展示

二,解决思路

需要实现全选,首先需要获取到表单元素,将所有复选框表单元素放到一个数组。因为id属性值是唯一的,所以通过name属性或者class属性获取元素比较合适。 得到数组后遍历,将所有checked值设置为true即可实现全选,全不选原理相同 。反选遍历的时候判断如果checked值为true则改为false,checked值为false则改为true 。

1.全选函数

// 全选
function setAll() {
	var hb = document.getElementsByName("hb");
	for (var i = 0; i < hb.length; i++) {
		hb[i].checked = true;
	}
}

2.全不选函数

// 全不选
function unsetAll() {
	var hb = document.getElementsByName("hb");
	for (var i = 0; i < hb.length; i++) {
		hb[i].checked = false;
	}
}

3.反选函数

// 反选
function setOthers() {
	var hb = document.getElementsByName("hb");
	for (var i = 0; i < hb.length; i++) {
		if (hb[i].checked == false)
			hb[i].checked = true;
		else
			hb[i].checked = false;
	}
}

三,综合代码

将上面的函数添加到按钮的点击事件中即可,最终附上源码,如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<ul style="list-style: none;">
			<span>选择爱好</span>
			<li><input type="checkbox" name="hb" />爬山</li>
			<li><input type="checkbox" name="hb" />游泳</li>
			<li><input type="checkbox" name="hb" />攀岩</li>
			<li><input type="checkbox" name="hb" />冲浪</li>
			<li><input type="checkbox" name="hb" />说唱</li>
		</ul>
		<input type="button" onclick="setAll()" value="全选" id="qx" />
		<input type="button" onclick="unsetAll()" value="全不选" id="qbx" />
		<input type="button" onclick="setOthers()" value="反选" id="fx" />
	</body>
	<script>
		// 全选
		function setAll() {
			var hb = document.getElementsByName("hb");
			for (var i = 0; i < hb.length; i++) {
				hb[i].checked = true;
			}
		}
		// 全不选
		function unsetAll() {
			var hb = document.getElementsByName("hb");
			for (var i = 0; i < hb.length; i++) {
				hb[i].checked = false;
			}
		}
		// 反选
		function setOthers() {
			var hb = document.getElementsByName("hb");
			for (var i = 0; i < hb.length; i++) {
				if (hb[i].checked == false)
					hb[i].checked = true;
				else
					hb[i].checked = false;
			}
		}
	</script>
</html>

运行效果

​​​​​​​

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 实现全选、全不选和反选功能 的相关文章

随机推荐

  • SpringBoot 中 Json 格式化配置

    SpringBoot 针对 jackson 是自动化配置的 如果需要修改 也可以自定义配置 0x01 通过 application yml 配置属性说明 spring jackson date format 指定日期格式 比如 yyyy M
  • 窗口函数之ntile()函数讲解

    ntile NTILE n 用于将分组数据按照顺序切分成n片 返回当前切片值 将一个有序的数据集划分为多个桶 bucket 并为每行分配一个适当的桶数 切片值 第几个切片 第几个分区等概念 它可用于将数据划分为相等的小切片 为每一行分配该小
  • WIN10 64位 OSG3.4+Qt5.3+VS2013 编译及使用dae插件、dxf插件

    OSG经过一段时间的发展 相比以前的开发来说 在编译安装上的步骤已经简单许多 但依旧存在许多的坑 本文简单阐述了在64位win10系统上 使用VS2013编译工具结合Qt5 3库 编译安装了带dae 3ds等3D显示插件的3 4版本的Ope
  • 标准IO及其各函数用法

    目录 综述标准IO与文件IO 1 fopen 函数 打开一个文件 2 fclose函数 关闭流 3 读写函数 3 1按字符读写 3 1 1 fgetc函数 从指定流中读取一个字符 3 1 2 fputc函数 向流中输出一个字符 3 1 3案
  • 你要的一眼就能看懂的【this全解】

    this指向谁 招数千万 万里归一 宝典只有一句 取决于 当前this所在函数的调用 分析 就两点 所在函数 调用 怎么看 不用管this外面包了几层函数 或几层对象 就看当前this所在的函数 看这个函数是怎么被调用的 注意调用 没有调用
  • 透过简单例子说明“工厂方法模式”与“模板方法模式”

    最近看了一下阎宏博士的 java与模式 看的不多 的确很经典 通俗易懂 工作中很多的问题一下子就明朗了 本人菜鸟 今天看到 工厂方法模式 Factory Method 的一道思考题 其中又简单涉及了 模板方法模式 Template Meth
  • 基于 Python 的音乐流派分类

    音乐就像一面镜子 它可以告诉人们很多关于你是谁 你关心什么 不管你喜欢与否 我们喜欢说 you are what you stream Spotify Spotify 拥有 260 亿美元的净资产 是如今很受欢迎的音乐流媒体平台 它目前在其
  • ppp-2.4.5移植(交叉编译)

    移植无非就三个步骤 1 configure 2 make 3 make install 正常情况下在步骤1可以指定编译器 CC xxxx之类 或者直接指定host名称 一般 host xxxxx指定后 对应的编译器就不用指定了 会默认xxx
  • Hadoop集群搭建

    搭建教程和资源已上传 1 1Linux搭建 在VMware上部署6台Linux虚拟机用于搭建集群和虚拟机的配置 包括虚拟机网卡和主机虚拟网卡和网关的配置 以及Linux的一些基础配置 有防火墙 主机名 ssh免密登陆和主机名和地址的映射等配
  • Django TypeError: __init__() missing 1 required positional argument: 'on_delete'

    解决方法 在括号里加入 on delete models CASCADE
  • selenium——一个用于web应用程序测试的工具

    selenium是什么 他的前世今生是什么 他的作用是什么 他的原理是什么 啊哈哈 想知道 那还不赶紧去百度百科 https baike baidu com item selenium 18266 鉴于自觉地人少之又少 所以鄙人查询百般资料
  • VUE 实现 Table的动态绑定

    模板代码
  • springboot中使用EasyExcel实现Excel 导入导出

    一 EasyExcel的介绍 EasyExcel 是一款基于 Java 的简单易用的 Excel 文件操作工具 它提供了丰富的 API 可以方便地读取 写入和操作 Excel 文件 支持常见的 Excel 操作 如读取 写入单元格数据 合并
  • httpUtil工具类

    简单httpUtil工具类发送post get请求 package com wt commons utils import com alibaba fastjson JSONObject import lombok extern slf4j
  • 通过宝塔面板部署一个SpringBoot+Vue前后端分离项目的指南(三更)

    采取的部署方案 阿里云服务器 gt FinalShell gt 宝塔面板 近期需要将自己的一个SpringBoot Vue前后端分离项目 并且是分模块开发的项目部署到服务器上 记录一下踩坑的地方 结合C站大佬的解决方案 循循善诱一步步部署到
  • centos7安装Elasticsearch6.2.4

    elasticsearch启动报错 在centos7中使用wget 下载elasticsearch安装 wget https artifacts elastic co downloads elasticsearch elasticsearc
  • 单相锁相放大器,双相锁相放大器(AD630详解)

    电路图是经过资料搜集验证并优化之后 实测好用 B站对应讲解视频链接 如何测量被噪声埋没了的信号 在测量各种物理量 温度 加速度等 时 用传感器将其变换成为电信号 然后输入到分析仪器 测量仪器 中去 但是 仅想获得必要的信号是很难做到的 通常
  • 【沧海拾昧】C# .Net SplitContainer(分割器)控件的使用笔记

    C0202 沧海茫茫千钟粟 且拾吾昧一微尘 沧海拾昧集 CuPhoenix 阅前敬告 沧海拾昧集仅做个人学习笔记之用 所述内容不专业不严谨不成体系 如有问题必是本集记录有谬 切勿深究 目录 一 将窗口绑定到SplitContainer中作为
  • Mybatis-plus常用方法

    Mybatis plus常用方法总结 便携查看 1 单表增删改查 class GgktDemoApplicationTests 注入mapper Autowired private UserMapper userMapper 1 查询 Te
  • JavaScript 实现全选、全不选和反选功能

    网页中使用到表单复选框时 如果有大量的数据需要选择 经常会用到全选或者反选功能 也可能会用到全不选功能 其实是全选的反选 下面使用原生的js来实现一下全选 全不选和反选功能 声明 文章转载链接出自 JavaScript 实现全选 全不选和反