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 相关文章推荐
利用javascript实现一些常用软件的下载导航
Aug 03 Javascript
JavaScript iframe的相互操作浅析
Oct 14 Javascript
extjs中grid中嵌入动态combobox的应用
Jan 01 Javascript
jQuery瀑布流插件Wookmark使用实例
Apr 02 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
jquery中ready()函数执行的时机和window的load事件比较
Jun 22 Javascript
浅谈JavaScript 标准对象
Jun 02 Javascript
bootstrapValidator.min.js表单验证插件
Feb 09 Javascript
Vue.js实现简单动态数据处理
Feb 13 Javascript
深入解析js轮播插件核心代码的实现过程
Apr 14 Javascript
Vue $emit $refs子父组件间方法的调用实例
Sep 12 Javascript
React Hooks的深入理解与使用
Nov 12 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
PHP MSSQL 存储过程的方法
2008/12/24 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
php检测url是否存在的方法
2015/04/14 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
JS中style属性
2006/10/11 Javascript
javascript add event remove event
2008/04/07 Javascript
javascript hashtable 修正版 下载
2010/12/30 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
PHP读取远程txt文档到数组并实现遍历
2020/08/25 Javascript
[04:41]2014DOTA2国际邀请赛 Liquid顺利突围晋级正赛
2014/07/09 DOTA
Python如何为图片添加水印
2016/11/25 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
Python实现找出数组中第2大数字的方法示例
2018/03/26 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
Python骚操作之动态定义函数
2019/03/26 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
python中threading开启关闭线程操作
2020/05/02 Python
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
求高于平均分的学生学号及成绩
2016/09/01 面试题
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
市场调查策划方案
2014/06/10 职场文书
买房协议书范本
2014/10/23 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
html5调用摄像头实例代码
2021/06/28 HTML / CSS