1.首先还是要创建一个案例文件

<div id="one">请选择爱好:
<input type="checkbox" id="check">全选/全不选
<br>
<input type="checkbox" name="hobby">英语
<input type="checkbox" name="hobby">登山
<input type="checkbox" name="hobby">游泳
<input type="checkbox" name="hobby">阅读
<input type="checkbox" name="hobby">跑步
<input type="checkbox" name="hobby">打球
<div class="c1">
<button class="b1" onclick="setall1()">全选</button>
<button class="b1" onclick="setnoall()">全不选</button>
<button class="b1" onclick="setfan()">反选</button>
<button class="b1" onclick="take()">提交</button>

</div>

2.先做全选

全选比较的简单,我们只要记住input checkbox的checked对象,并对它进行使用就行了

 var hobby=document.getElementsByName("hobby");
var whole=document.getElementById("check");

//全选
function setall1() {
for(let i=0;i<hobby.length;i++){
hobby[i].checked=true;
}
whole.checked=true;
}

首先我们要获得爱好这个对象,因为前面有相同的name,所以要用

getElementsByName
全选其实很简单就是遍历我们这个对象的数组,然后进行checked,注意checked是boolean

3.在做全不选
全不选和全选是一样的思想,这里不做过多的描述
上代码
function setnoall() {
for (let i=0;i<hobby.length;i++){
hobby[i].checked=false;
}
whole.checked=false;
}


4.反选,
反选的思维其实很简单,就是我一旦选择了这个(就是true),那我就false它
function setfan() {
for (let i=0;i<hobby.length;i++){
if (hobby[i].checked==true){
hobby[i].checked=false;
}else if (hobby[i].checked==false){
hobby[i].checked=true;
}

}


5.input之全选和全不选
这里的
hobby[i].onclick=function () {
whole.checked=true;
for (let j=0;j<hobby.length;j++){
if(hobby[j].checked==false){
whole.checked=false;

//一旦进入判断就得出结果,登山没有选择的话,循环就直接结束
break;
}
解释一下,我们点击的的时候,先把他们全部选中,在进入for循环进行遍历,如果
有一个没有选中,那就是直接返回false。
whole.onclick=function () {

for (let i=0;i<hobby.length;i++) {
if ( hobby[i].checked==false ) {
hobby[i].checked = true;
}else {
hobby[i].checked=false;
}
}
}

//如果四个多选框全部选择,上面的whole也选中
for (let i=0;i<hobby.length;i++){

hobby[i].onclick=function () {
whole.checked=true;
for (let j=0;j<hobby.length;j++){
if(hobby[j].checked==false){
whole.checked=false;

//一旦进入判断就得出结果,登山没有选择的话,循环就直接结束
break;
}
}
}

javascript文本全选,反选,多选的更多相关文章

  1. JQ实现复选框的全选反选不选

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. wpf--------------datagrid全选反选 多选进行删除操作 前后台

    前台绑定 <DataGrid.Columns> <DataGridTemplateColumn > <DataGridTemplateColumn.HeaderTempl ...

  3. Android开发 ---基本UI组件5:监听下拉选项,动态绑定下拉选项、全选/反选,取多选按钮的值,长按事件,长按删除,适配器的使用,提示查询数据,activity控制多按钮

    效果图: 效果描述: 1.当点击 1 按钮后,进入选择城市的页面,会监听到你选中的城市名称:动态为Spinner绑定数据 2.当点击 2 按钮后,进入自动查询数据页面,只要输入首字母,就会动态查找以该 ...

  4. JQuery 全选 反选 获取Table 中指定td的元素值

    //全选 function initTableCheckbox() { var $thr = $('table thead tr'); var $checkAllTh = $('<th>& ...

  5. JavaScript、全选反选-课堂笔记

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 转发!HTML 复选框 checkbox 的 JavaScript 的全选和全反选

    checkbox 或者按钮实现 form 内的 checkbox 全选或者反选,代码很简单,全部代码如下: <html> <head> <meta http-equiv= ...

  7. 用javascript实现全选/反选组件

    以下是本人制作的全选/反选 组件,供广大同行参考.指正: 效果如图: 在实现的过程中,全选和全部取消选中这两个功能较为简单,只需用for循环遍历所有复选框为true或false即可.反选也较为简单,也 ...

  8. 表单javascript checkbox全选 反选 全不选

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  9. JavaScript 实现全选 / 反选功能

    JavaScript 实现全选 / 反选功能 版权声明:未经授权,内容严禁转载! 构建主体界面 编写 HTML 代码 和 CSS 代码,设计主题界面 <style> #user { wid ...

随机推荐

  1. 万字长文 | 23 个问题 TCP 疑难杂症全解析

    每个时代,都不会亏待会学习的人. 在进入今天主题之前我先抛几个问题,这篇文章一共提出 23 个问题. TCP 握手一定是三次?TCP 挥手一定是四次? 为什么要有快速重传,超时重传不够用?为什么要有 ...

  2. 修改默认配置文件.android.gradle.androidstudio到其他目录

    .android 这个文件夹主要是用来存放模拟器的,是占用空间最大的一个,如果你没有使用它的模拟器,可以直接把这个文件夹删除.因为我建立了两个x86的模拟器,吃掉了我20G的空间.果断搬走. 复制当前 ...

  3. IDM下载度盘文件

    百度网盘是百度公司推出的一款个人云服务产品.百度网盘官方版操作简单,我们打开后就可以使用该软件来上传.下载文件等.不仅如此百度网盘软件还可以批量上传文件.支持断点传续等功能,重要的是上传的文件不会占用 ...

  4. 整理requests和正则表达式爬取猫眼Top100中遇到的问题及解决方案

    最近看崔庆才老师的爬虫课程,第一个实战课程是requests和正则表达式爬取猫眼电影Top100榜单.虽然理解崔老师每一步代码的实现过程,但自己敲代码的时候还是遇到了不少问题: 问题1:获取respo ...

  5. arduino中SCoop库的简单应用案例

    转载:https://www.csdn.net/gather_27/MtTaggzsMDExMS1ibG9n.html arduino中SCoop库的简单应用案例首先这篇文章来在视频https://v ...

  6. 《C++primerplus》第12章“队列模拟”程序

    这个程序刚开始学有很多难点,个人认为主要有以下三项: 1.链表的概念 2.如何表示顾客随机到达的过程 3.程序执行时两类之间的关系,即执行逻辑 关于第一点,书上的图解释得比较清楚了,把"空指 ...

  7. Java 读取文件中的每一行,并为每一行插入特定的字符串

    工具 1:Eclipse Java EE IDE for Web Developers. Version: Photon Release (4.8.0). Build id: 20180619-120 ...

  8. 【LGR-070】洛谷 3 月月赛-官方题解

    本次免费为大家提供[LGR-070]洛谷 3 月月赛的官方题解,点个赞再走呗! 代码就不上了,大家可以到别的博客上去找找!希望这篇博客能对你有所帮助!

  9. 如何部署MongoDB并开启远程访问Docker版

    Docker安装 安装方法 pull最新版本mongo docker pull mongo 运行 --name设置名称 -v挂载数据 -p端口映射 -d后台运行 mkdir ~/mongo #随便啦自 ...

  10. const、define 和 static 的区别

    目录 define.const static define.const 在 C++ 中,const 和 define 都可以用来定义常量.但是这二者之间有很大的区别: define 的作用 用 def ...