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的ajax基础上的超强GridView展示
Sep 18 Javascript
jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
Jun 04 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
简单谈谈关于 npm 5.0 的新坑
Jun 08 Javascript
微信小程序之页面拦截器的示例代码
Sep 07 Javascript
浅谈Vue2.0父子组件间事件派发机制
Jan 08 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
vue组件实践之可搜索下拉框功能
Nov 25 Javascript
js序列化和反序列化的使用讲解
Jan 19 Javascript
jQuery实现王者荣耀手风琴效果
Jan 17 jQuery
基于Vue全局组件与局部组件的区别说明
Aug 11 Javascript
vue3.0 数字翻牌组件的使用方法详解
Apr 20 Vue.js
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中使用gettext来支持多语言的方法
2011/05/02 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
JavaScript 中的replace方法说明
2007/04/13 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
获取客户端网卡MAC地址和IP地址实现JS代码
2013/03/17 Javascript
js调用css属性写法
2013/09/21 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
基于JavaScript如何实现ajax调用后台定义的方法
2015/12/29 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
Python函数的周期性执行实现方法
2016/08/13 Python
使用 Python 实现简单的 switch/case 语句的方法
2018/09/17 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
Python实战购物车项目的实现参考
2019/02/20 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
印度排名第一的蛋糕、鲜花和礼品送货:Winni
2019/08/02 全球购物
应届毕业生求职信范文
2013/12/18 职场文书
社会保险接收函
2014/01/12 职场文书
2014年前台个人工作总结
2014/11/14 职场文书
2014年环保工作总结
2014/11/26 职场文书
清洁员岗位职责
2015/02/15 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
童年读书笔记
2015/06/26 职场文书
高三语文教学反思
2016/02/16 职场文书
导游词之南京夫子庙
2019/12/09 职场文书