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. jquery全选,全不选,反选

    前台 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.o ...

  2. 从 ES6 高阶箭头函数理解函数柯里化

    前言:第一次看到多个连续箭头函数是在一个 react 项目中,然鹅确认了下眼神,并不是对的人,因为看得一脸懵逼.em......于是开始各种搜索,先是知道了多个连续箭头函数就是 es6 的多次柯里化的 ...

  3. Python-列表推导式、生成器、字典推导式

    列表推导式 [] + for + if 算子.循环.条件, 对相同的数据进行处理, 算子也可以是函数 number = [i for i in range(1, 101) if i % 2 == 0] ...

  4. 067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数

    067 01 Android 零基础入门 01 Java基础语法 08 Java方法 05 数组作为方法参数 本文知识点:数组作为方法参数 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进 ...

  5. 一、Mysql(1)

    数据库简介 人类在进化的过程中,创造了数字.文字.符号等来进行数据的记录,但是承受着认知能力和创造能力的提升,数据量越来越大,对于数据的记录和准确查找,成为了一个重大难题 计算机诞生后,数据开始在计算 ...

  6. NET Standard中配置TargetFrameworks输出多版本类库

    系列目录     [已更新最新开发文章,点击查看详细] 在.NET Standard/.NET Core技术出现之前,编写一个类库项目(暂且称为基础通用类库PA)且需要支持不同 .NET Framew ...

  7. linxu 命令

    top | grep java 统计 java 进程使用的资源比率 nohub java -jar test.war & 后台运行 test.war 程序,标准输出到 test.war 程序目 ...

  8. 华为方舟编译器正式支持C语言:完全开源

    投递人 itwriter 发布于 2020-10-14 19:08 评论(15) 有1938人阅读 原文链接 2019 年 8 月底,华为方舟编译器(OpenArkCompiler)正式开源,迈出了跨 ...

  9. async-await和Promise的关系

    关于异步处理,ES5的回调使我们陷入地狱,ES6的Promise使我们脱离魔障,终于.ES7的async-await带我们走向光明.今天就来学习一下 async-await. 经常会看到有了 asyn ...

  10. HDU - 6736 F - Forest Program

    题意 给你n个点m条边,并且保证整个图是仙人掌. 仙人掌:每条边仅属于1条或者0条回路 且无重边和自环 让你删掉一些边使其变成一棵树(拥有点数-1条边) 注意一个点也是森林 图可能是不联通的 思路 考 ...