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实现动态添加删除Table行示例
Apr 14 Javascript
extjs 分页使用jsp传递数据示例
Jul 29 Javascript
移动Web中图片自适应的两种JavaScript解决方法
Jun 18 Javascript
js中常用的Tab切换效果(推荐)
Aug 30 Javascript
Javascript blur与click冲突解决办法
Jan 09 Javascript
老生常谈angularjs中的$state.go
Apr 24 Javascript
基于Vue生产环境部署详解
Sep 15 Javascript
深入理解Vue 组件之间传值
Aug 16 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
Nov 22 Javascript
vue 插件的方法代码详解
Jun 06 Javascript
微信小程序实现拍照画布指定区域生成图片
Jul 18 Javascript
jqGrid表格底部汇总、合计行footerrow处理
Aug 21 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提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
php中显示数组与对象的实现代码
2011/04/18 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
用JavaScript实现对话框的教程
2015/06/04 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
JS document form表单元素操作完整示例
2020/01/13 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
python实现类之间的方法互相调用
2018/04/29 Python
python使用udp实现聊天器功能
2018/12/10 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
2019/06/25 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Python tkinter 下拉日历控件代码
2020/03/04 Python
Jupyter notebook快速入门教程(推荐)
2020/05/18 Python
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
POP文化和音乐灵感的时尚:Hot Topic
2019/06/19 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
小学教师师德承诺书
2014/05/23 职场文书
质量标语大全
2014/06/12 职场文书
四风问题自查自纠工作情况报告
2014/10/28 职场文书
通知书大全
2015/04/27 职场文书
教师师德承诺书2016
2016/03/25 职场文书
如何用python绘制雷达图
2021/04/24 Python