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中match函数的用法小结
Feb 08 Javascript
jquery如何判断表格同一列不同行input数据是否重复
May 14 Javascript
网页运行时提示对象不支持abigimage属性或方法
Aug 10 Javascript
js实现简洁的TAB滑动门效果代码
Sep 06 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
Jquery ajax请求导出Excel表格的实现代码
Jun 08 Javascript
使用Angular.js开发的注意事项
Oct 19 Javascript
ES6新数据结构Map功能与用法示例
Mar 31 Javascript
vue2项目使用sass的示例代码
Jun 28 Javascript
js Date()日期函数浏览器兼容问题解决方法
Sep 12 Javascript
js 中rewrap-ajax.js插件实例代码
Oct 20 Javascript
JS实现密码框效果
Sep 10 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
Banner程序
2006/10/09 PHP
PHP简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
php实现微信支付之企业付款
2018/05/30 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
HTML DOM的nodeType值介绍
2011/03/31 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
Bootstrap插件全集
2016/07/18 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
JavaScript学习笔记之惰性函数示例详解
2017/08/27 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
vue二级路由设置方法
2018/02/09 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
python处理图片之PIL模块简单使用方法
2015/05/11 Python
Python实现曲线点抽稀算法的示例
2017/10/12 Python
Python多层装饰器用法实例分析
2018/02/09 Python
python生成n个元素的全组合方法
2018/11/13 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
Python os模块常用方法和属性总结
2020/02/20 Python
如何完美的建立一个python项目
2020/10/09 Python
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
乔迁宴答谢词
2014/01/21 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
2015年考研复习计划
2015/01/19 职场文书