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 相关文章推荐
跟着JQuery API学Jquery 之二 属性
Apr 09 Javascript
javascript基础知识大集锦(一) 推荐收藏
Jan 13 Javascript
js弹出对话框方式小结
Nov 17 Javascript
Js遍历键值对形式对象或Map形式的方法
Aug 08 Javascript
Angular2从搭建环境到开发步骤详解
Oct 17 Javascript
JS仿QQ好友列表展开、收缩功能(第二篇)
Jul 07 Javascript
JavaScript文件的同步和异步加载的实现代码
Aug 19 Javascript
JS监控关闭浏览器操作的实例详解
Sep 12 Javascript
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
js构建二叉树进行数值数组的去重与优化详解
Mar 26 Javascript
vue仿element实现分页器效果
Sep 13 Javascript
小程序富文本提取图片可放大缩小
May 26 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中for与foreach的区别分析
2011/03/09 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
解析PHP提交后跳转
2013/06/23 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
使用script的src实现跨域和类似ajax效果
2014/11/10 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
javascript获取网页宽高方法汇总
2015/07/19 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
JavaScript数组实现数据结构中的队列与堆栈
2016/05/26 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
移动端使用localResizeIMG4压缩图片
2017/04/22 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
Zabbix实现微信报警功能
2016/10/09 Python
python应用文件读取与登录注册功能
2019/09/23 Python
电子信息专业自荐书
2014/02/04 职场文书
职工运动会感言
2014/02/07 职场文书
演讲主持词
2014/03/18 职场文书
幼儿园课题实施方案
2014/05/14 职场文书
某某同志考察材料
2014/05/28 职场文书
2014年商场工作总结
2014/11/22 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
自我推荐信格式模板
2015/03/24 职场文书
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS