JS实现的全选、全不选及反选功能【案例】


Posted in Javascript onFebruary 19, 2019

本文实例讲述了JS实现的全选、全不选及反选功能。分享给大家供大家参考,具体如下:

效果图如下:点击全选时会全部选中;全不选时全部不选;反选时反向选中.

JS实现的全选、全不选及反选功能【案例】

html结构代码:

<input class = 'check' type="checkbox" >
<input class = 'check' type="checkbox">
<input class = 'check' type="checkbox">
<input class = 'check' type="checkbox">
<input class = 'check' type="checkbox">
<input id="checkAll" type="button" value="全选">
<input id="unCheckAll" type="button" value="全不">
<input id="reverseCheck" type="button" value="反选">

javascript代码如下: 

<script>
  /*一:需求分析:
      (1)点击全选:选中所有选择框(设置checked属性为true)
      (2)点击全不选:不选中所有选择框(设置checked属性为false)
      (3)点击反选:让每一个选择框的checked属性与自身相反
    二:思路分析
        1.获取元素
        2.注册事件
        3.事件处理
  */
  //1.获取页面元素
  var checkAll = document.getElementById('checkAll');//全选
  var unCheckAll = document.getElementById('unCheckAll');//全不选
  var reverseCheck = document.getElementById('reverseCheck');//反选
  var checkList = document.getElementsByClassName('check');//选择框列表
  //2.注册事件
  //2.1 全选
  checkAll.onclick = function(){
    //3.事件处理:选中所有选择框(设置checked属性为true)
    for(var i = 0;i<checkList.length;i++){
      checkList[i].checked = true;
    }
  }
  //2.2 全不选
  unCheckAll.onclick = function(){
    //3.事件处理:不选中所有选择框(设置checked属性为false)
    for(var i = 0;i<checkList.length;i++){
      checkList[i].checked = false;
    }
  }
  //2.3 反选
  reverseCheck.onclick = function(){
    //3.事件处理:让每一个选择框的checked属性与自身相反
    for(var i = 0;i<checkList.length;i++){
      checkList[i].checked = !checkList[i].checked;//逻辑非取反
      // if (checkList[i].checked == true){
      //   checkList[i].checked = false;
      // }else{//false
      //   checkList[i].checked = true;
      // }
    }
  }
</script>

完整示例代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3water.com JS全选、全不选、反选</title>
</head>
<body>
<input class = 'check' type="checkbox" >
<input class = 'check' type="checkbox">
<input class = 'check' type="checkbox">
<input class = 'check' type="checkbox">
<input class = 'check' type="checkbox">
<input id="checkAll" type="button" value="全选">
<input id="unCheckAll" type="button" value="全不">
<input id="reverseCheck" type="button" value="反选">
<script>
  /*一:需求分析:
      (1)点击全选:选中所有选择框(设置checked属性为true)
      (2)点击全不选:不选中所有选择框(设置checked属性为false)
      (3)点击反选:让每一个选择框的checked属性与自身相反
    二:思路分析
        1.获取元素
        2.注册事件
        3.事件处理
  */
  //1.获取页面元素
  var checkAll = document.getElementById('checkAll');//全选
  var unCheckAll = document.getElementById('unCheckAll');//全不选
  var reverseCheck = document.getElementById('reverseCheck');//反选
  var checkList = document.getElementsByClassName('check');//选择框列表
  //2.注册事件
  //2.1 全选
  checkAll.onclick = function(){
    //3.事件处理:选中所有选择框(设置checked属性为true)
    for(var i = 0;i<checkList.length;i++){
      checkList[i].checked = true;
    }
  }
  //2.2 全不选
  unCheckAll.onclick = function(){
    //3.事件处理:不选中所有选择框(设置checked属性为false)
    for(var i = 0;i<checkList.length;i++){
      checkList[i].checked = false;
    }
  }
  //2.3 反选
  reverseCheck.onclick = function(){
    //3.事件处理:让每一个选择框的checked属性与自身相反
    for(var i = 0;i<checkList.length;i++){
      checkList[i].checked = !checkList[i].checked;//逻辑非取反
      // if (checkList[i].checked == true){
      //   checkList[i].checked = false;
      // }else{//false
      //   checkList[i].checked = true;
      // }
    }
  }
</script>
</body>
</html>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
多浏览器兼容的获取元素和鼠标的位置的js代码
Dec 15 Javascript
jQuery getJSON 处理json数据的代码
Jul 26 Javascript
asp.net 30分钟掌握无刷新 Repeater
Sep 16 Javascript
JS短路原理的应用示例 精简代码的途径
Dec 13 Javascript
js控制浏览器全屏示例代码
Feb 20 Javascript
JavaScript设计模式之工厂模式和构造器模式
Feb 11 Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 Javascript
JavaScript实现数组降维详解
Jan 05 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
Nov 21 Javascript
JavaScript之Blob对象类型的具体使用方法
Nov 29 Javascript
js实现AI五子棋人机大战
May 28 Javascript
vue element table中自定义一些input的验证操作
Jul 18 Javascript
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 #jQuery
Vue结合后台导入导出Excel问题详解
Feb 19 #Javascript
Vue.js实现可排序的表格组件功能示例
Feb 19 #Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 #Javascript
小程序转发探索示例
Feb 19 #Javascript
JS异步执行结果获取的3种解决方式
Feb 19 #Javascript
jQuery AJAX与jQuery事件的分析讲解
Feb 18 #jQuery
You might like
动态新闻发布的实现及其技巧
2006/10/09 PHP
Win2003服务器安全加固设置--进一步提高服务器安全性
2007/05/23 PHP
destoon公司主页模板风格的添加方法
2014/06/20 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
Javascript 去除数组的重复元素
2010/05/04 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
深入理解JSON数据源格式
2014/01/10 Javascript
jquery解析xml字符串简单示例
2014/04/11 Javascript
JavaScript定义变量和变量优先级问题探讨
2014/10/11 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
轮播图组件js代码
2016/08/08 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
react-redux中connect的装饰器用法@connect详解
2018/01/13 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
js实现石头剪刀布游戏
2020/10/11 Javascript
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
python之文件读取一行一行的方法
2018/07/12 Python
python对于requests的封装方法详解
2019/01/03 Python
python文件写入write()的操作
2019/05/14 Python
详解pyinstaller selenium python3 chrome打包问题
2019/10/18 Python
Python中__repr__和__str__区别详解
2019/11/07 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
Python猜数字算法题详解
2020/03/01 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
分布式数据库需要考虑哪些问题
2013/12/08 面试题
地质灾害防治方案
2014/05/14 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
经营场所使用证明
2015/06/19 职场文书
安全生产奖惩制度
2015/08/06 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers