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 相关文章推荐
jQuery实现 注册时选择阅读条款 左右移动
Apr 11 Javascript
Jquery获得控件值的三种方法总结
Feb 13 Javascript
js格式化时间的方法
Dec 18 Javascript
基于jQuery实现表格的排序
Dec 02 Javascript
浅谈js中的变量名和函数名重名
Feb 13 Javascript
详解在Angular项目中添加插件ng-bootstrap
Jul 04 Javascript
简单实现jQuery轮播效果
Aug 18 jQuery
vue.js使用代理和使用Nginx来解决跨域的问题
Feb 03 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
Nov 28 Javascript
详解Jest结合Vue-test-utils使用的初步实践
Jun 27 Javascript
如何对react hooks进行单元测试的方法
Aug 14 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
phpmyadmin操作流程
2006/10/09 PHP
聊天室php&amp;mysql(三)
2006/10/09 PHP
php设计模式 Visitor 访问者模式
2011/06/28 PHP
php访问数组最后一个元素的函数end()用法
2015/03/18 PHP
PHP使用mysql_fetch_object从查询结果中获取对象集的方法
2015/03/18 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
javascript跨域刷新实现代码
2011/01/01 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
js 走马灯简单实例
2013/11/21 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
2016/10/10 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
举例讲解Python中的身份运算符的使用方法
2015/10/13 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
Django web框架使用url path name详解
2019/04/29 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
详解字符串在Python内部是如何省内存的
2020/02/03 Python
python opencv实现简易画图板
2020/08/27 Python
关于python scrapy中添加cookie踩坑记录
2020/11/17 Python
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
商务英语毕业生自荐信范文
2013/11/08 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
军训口号
2014/06/13 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
2014年小学德育工作总结
2014/12/05 职场文书