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 相关文章推荐
ie8 不支持new Date(2012-11-10)问题的解决方法
Jul 31 Javascript
node.js中的fs.writeFileSync方法使用说明
Dec 14 Javascript
PHP结合jQuery实现红蓝投票功能特效
Jul 22 Javascript
jQuery点击输入框显示验证码图片
May 19 Javascript
原生JS实现跑马灯效果
Feb 20 Javascript
Vue.js父与子组件之间传参示例
Feb 28 Javascript
JavaScript函数节流的两种写法
Apr 07 Javascript
JS删除数组里的某个元素方法
Feb 03 Javascript
React Native悬浮按钮组件的示例代码
Apr 05 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
Dec 03 Javascript
express启用https使用小记
May 21 Javascript
JS实现秒杀倒计时特效
Jan 02 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
PHP生成静态页面详解
2006/12/05 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
php fread函数使用方法总结
2019/05/28 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
2017/01/29 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
jQuery操作事件完整实例分析
2020/01/10 jQuery
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
在Python中使用swapCase()方法转换大小写的教程
2015/05/20 Python
Python简单生成随机数的方法示例
2018/03/31 Python
Python3实现定时任务的四种方式
2019/06/03 Python
Python argparse模块应用实例解析
2019/11/15 Python
python计算Content-MD5并获取文件的Content-MD5值方式
2020/04/03 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
python eventlet绿化和patch原理
2020/11/21 Python
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
旅游项目开发策划书
2014/01/18 职场文书
办公自动化毕业生求职信
2014/03/09 职场文书
单位委托书怎么写
2014/08/02 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
工伤死亡理赔协议书
2014/10/20 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
招商银行收入证明
2015/06/17 职场文书
小学英语课教学反思
2016/02/15 职场文书
nginx配置之并发频次限制
2022/04/18 Servers