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. kafka-Reblance

    谁来执行Rebalance以及管理consumer的group呢 coordinator来执行对于consumer group的管理,当consumer group的第一个consumer启动的时候, ...

  2. WPF DataGrid 复合表头 (实现表头合并,自定义表头)

    功能说明: 将 DataGrid嵌套在本控件内,使用Label自定义表头,如果需要上下左右滚动 需要在控件外围添加  ScrollViewer 并且设置  ScrollVisibility 为Auto ...

  3. .NetCore.RazorPages 获取访客的公网IP与局域网IP

    dotnet.core 获取访客的公网IP与局域网IP 现在奉上代码 public void OnGet() {var ip = Content(HttpContext.Connection.Remo ...

  4. 003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程

    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程 Java程序长啥样? 首先编写一个Java程序 记事本编写程序 打开记事本 1.wi ...

  5. c中_tmain()和main()区别

    来源参考:https://www.cnblogs.com/lucyjiayou/archive/2011/05/07/2039621.html tchar.h>可以找到,如#define _tm ...

  6. java安全编码指南之:输入注入injection

    目录 简介 SQL注入 java中的SQL注入 使用PreparedStatement XML中的SQL注入 XML注入的java代码 简介 注入问题是安全中一个非常常见的问题,今天我们来探讨一下ja ...

  7. linux 已放弃(吐核) (core dumped) 问题分析

    在运行自己写的 C 多线程程序是,出现:已放弃(吐核)  问题. 出现这种问题一般是下面这几种情况: 1.内存越界 2.使用的非线程安全的函数 3.全局数据未加锁保护 4.非法指针 5.堆栈溢出 也就 ...

  8. 多测师讲解IDE工具python_001.2pycham_安装

    PyCharm安装使用教程 Pycharm 是目前 Python 语言最好用的集成开发工具. 下载 Pycharm 载时有两种版本选择 Professional(专业版,收费)和Community(社 ...

  9. spring boot:用rocketmq发送延时消息用来取消订单(spring boot 2.3.3)

    一,为什么要用延时消息来取消订单? 1,为什么要取消订单 在电商的下单过程中,需要在生成订单时扣减库存, 但有可能发生这种情况:用户下了单,临时改变主意不再支付, 则订单不能无限期的保留,因为还要把占 ...

  10. Linux用户和组管理命令-用户创建useradd

    用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...