javascript实现复选框全选或反选


Posted in Javascript onFebruary 04, 2017

以下是用原生js实现的复选框全选/反选的实现,选中checkbox的时候,实现全选的效果,并且样式发生改变。
代码最简洁,js行为优化版,复制粘贴即可使用。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>复选框全选/反选效果实现</title>
 <style>
  body,dl,dt,dd,p{margin:0;padding:0;}
  body{font-family:Tahoma;font-size:12px;}
  label,input,a{vertical-align:middle;}
  label{padding:0 10px 0 5px;}
  a{color:#09f;text-decoration:none;}
  a:hover{color:red;}
  dl{width:120px;margin:10px auto;
  border-radius:5px;background:#fafafa;}
  dt{padding-bottom:10px;
  border-bottom:1px solid #666;}
  dt label{font-weight:700;}
  p{margin-top:10px;}
 </style>
</head>
<body>
 <dl>
 <dt><input type="checkbox" id="checkAll" /><label>全选</label><a href="javascript:;">反选</a></dt>
 <dd>
  <p><input type="checkbox" name="item" /><label>选项(一)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(二)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(三)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(四)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(五)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(六)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(七)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(八)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(九)</label></p>
  <p><input type="checkbox" name="item" /><label>选项(十)</label></p>
 </dd> 
</dl>
<script type="text/javascript">
(function(){
 var aInput = document.getElementsByTagName("input");
 var aBack = document.getElementsByTagName("a")[0];
 var aLabel = document.getElementsByTagName("label")[0];
 var allInput = aInput[0];
  //全选设置,当点击事件发生时候,如果被选择全部选中,并且文本内容改变
  allInput.onclick=function(){
   if(aInput[0].checked){
   for(var i=1;i<aInput.length;i++){
    aInput[i].checked = true;
   }
    aLabel.innerHTML = "全不选";
   }
   else{
    for(var i=1;i<aInput.length;i++){
    aInput[i].checked = false;
    }
    aLabel.innerHTML = "全选";
   }

  }
  //反选设置,选中的内容是原本内容的取反
  aBack.onclick=function(){
   for(var i=1;i<aInput.length;i++){
    aInput[i].checked = !aInput[i].checked;
   }
  }
})();
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
Javascript 模式实例 观察者模式
Oct 24 Javascript
jQuery 选择器项目实例分析及实现代码
Dec 28 Javascript
js传中文参数controller里获取参数乱码问题解决方法
Jan 03 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
Jan 24 Javascript
jquery判断页面网址是否有效的两种方法
Dec 11 Javascript
微信小程序日历组件calendar详解及实例
Jun 08 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
Sep 28 Javascript
webpack打包js的方法
Mar 12 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
Oct 19 Javascript
vue中v-for通过动态绑定class实现触发效果
Dec 06 Javascript
JavaScript构造函数原理及实现流程解析
Nov 19 Javascript
JavaScript获取当前时间向前推三个月的方法示例
Feb 04 #Javascript
javascript表单正则应用
Feb 04 #Javascript
JS中的phototype详解
Feb 04 #Javascript
详解JavaScript RegExp对象
Feb 04 #Javascript
JS查找字符串中出现最多的字符及个数统计
Feb 04 #Javascript
JavaScript获取中英文混合字符串长度的方法示例
Feb 04 #Javascript
纯js模仿windows系统日历
Feb 04 #Javascript
You might like
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
PHP比较运算符的详细介绍
2015/09/29 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
ThinkPHP3.2.3框架邮件发送功能图文实例详解
2019/04/23 PHP
javascript的键盘控制事件说明
2008/04/15 Javascript
jQuery学习笔记之jQuery的DOM操作
2010/12/22 Javascript
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
Vue-cli配置打包文件本地使用的教程图解
2018/08/02 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
Python数据处理numpy.median的实例讲解
2018/04/02 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
Python3分析处理声音数据的例子
2019/08/27 Python
TensorFlow加载模型时出错的解决方式
2020/02/06 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
本科生职业生涯规划书范文
2014/01/21 职场文书
个人投资计划书
2014/05/01 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
房地产置业顾问岗位职责
2015/04/11 职场文书
机关单位2016年创先争优活动总结
2016/04/05 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
基于Go语言构建RESTful API服务
2021/07/25 Golang
Golang流模式之grpc的四种数据流
2022/04/13 Golang