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. .NETCore在析构函数(Finalize)在Linux下引起程序异常退出现象

    目       录 1.      现象概述... 1 2.      操作数据库的代码... 2 3.      引起的异常... 2 4.      异常信息分析... 3 5.      分析结 ...

  2. tomcat源码--springboot整合tomcat源码分析

    1.测试代码,一个简单的springboot web项目:地址:https://gitee.com/yangxioahui/demo_mybatis.git 一:tomcat的主要架构:1.如果我们下 ...

  3. Spring AOP系列(五)—反射

    前言 前面我们进行了代理模式.静态代理.动态代理的学习.而动态代理就是利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称"动态代理类&qu ...

  4. 剑指offer-字符串&数字规律

    1. 表示数值的字符串 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123",&q ...

  5. java泛型之通配符?

    一.在说泛型通配符" ?" 之前先讲几个概念 1.里氏替换原则(Liskov Substitution Principle, LSP): 定义:所有引用基类(父类)的地方必须能透明 ...

  6. Windows VS Code 配置 C/C++ 开发环境

    准备 Windows [这个相信大家都有 笑: )] VS Code MinGW-w64 C/C++ 安装 MinGw-w64 具体说明细节和安装体验可以在<⑨也懂系列:MinGW-w64安装教 ...

  7. Python 疑难问题:[] 与 list() 哪个快?为什么快?快多少呢?

    本文出自"Python为什么"系列,请查看全部文章 在日常使用 Python 时,我们经常需要创建一个列表,相信大家都很熟练了吧? # 方法一:使用成对的方括号语法 list_a ...

  8. MeteoInfoLab脚本示例:Trajectory

    示例读取HYSPLIT模式输出的气团轨迹数据文件,生成轨迹图层,并显示轨迹各节点的气压图.脚本程序: f = addfile_hytraj('D:/MyProgram/Distribution/jav ...

  9. 为什么C语言是最适合单片机编程的高级语言!

    为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python等等,为什么这些语言不能用来编写单片机程序呢?那么这个问 ...

  10. 【9】进大厂必须掌握的面试题-DevOps面试

    Q1.DevOps和Agile之间的根本区别是什么? 下表中列出了两者之间的差异. 特征 DevOps--开发运维 Agile--敏捷 敏捷 开发和运营中的敏捷性 只有发展才能敏捷 流程/实践 涉及C ...