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类型检查实现代码
Oct 29 Javascript
jQuery Ajax()方法使用指南
Nov 19 Javascript
JS长整型精度问题实例分析
Jan 13 Javascript
JavaScript中的Object对象学习教程
May 20 Javascript
Knockoutjs 学习系列(二)花式捆绑
Jun 07 Javascript
jQuery实现的简单拖拽功能示例
Sep 13 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
Mar 21 jQuery
解决node-sass偶尔安装失败的方法小结
Dec 05 Javascript
JavaScript链式调用实例浅析
Dec 19 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
Sep 11 Javascript
jquery插件实现代码雨特效
Apr 24 jQuery
一定要知道的 25 个 Vue 技巧
Nov 02 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 更新数据库中断的解决方法
2009/06/05 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参
2011/01/06 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
ng-events类似ionic中Events的angular全局事件
2018/09/05 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
在Django的视图(View)外使用Session的方法
2015/07/23 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
python tkinter组件摆放方式详解
2019/09/16 Python
Django日志及中间件模块应用案例
2020/09/10 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
大学生最新职业生涯规划书范文
2014/01/12 职场文书
招聘专员岗位职责
2014/03/07 职场文书
就业意向书范文
2014/04/01 职场文书
电子装配专业毕业生求职信
2014/04/23 职场文书
2014年公务员个人工作总结
2014/11/22 职场文书
谢师宴答谢词
2015/01/05 职场文书
2015年团支书工作总结
2015/04/03 职场文书
文艺晚会开场白
2015/05/29 职场文书
2015年高校保卫处工作总结
2015/07/23 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
导游词之凤凰古城
2019/10/22 职场文书