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 相关文章推荐
Javascript 遍历页面text控件详解
Jan 06 Javascript
js数组去重的常用方法总结
Jan 24 Javascript
JS的参数传递示例介绍
Feb 08 Javascript
简单封装js的dom查询实例代码
Jul 08 Javascript
bootstrap modal弹出框的垂直居中
Dec 14 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
Jan 13 Javascript
微信小程序 WebSocket详解及应用
Jan 21 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
Aug 23 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
Oct 16 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
Nov 04 Javascript
vue中destroyed方法的使用说明
Jul 21 Javascript
JavaScript实现表单验证功能
Dec 09 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
建立动态的WML站点(一)
2006/10/09 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
2015/03/27 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
Javascript - HTML的request类
2007/01/09 Javascript
Ajax::prototype 源码解读
2007/01/22 Javascript
javascript 全等号运算符使用说明
2010/05/31 Javascript
jquery获取input的value问题说明
2010/08/19 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
浅谈js中的闭包
2015/03/16 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
基于JS递归函数细化认识及实用实例(推荐)
2017/08/07 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
2019/10/17 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
js canvas实现俄罗斯方块
2020/10/11 Javascript
python django集成cas验证系统
2014/07/14 Python
Django中实现点击图片链接强制直接下载的方法
2015/05/14 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
pycham查看程序执行的时间方法
2018/11/29 Python
python3实现指定目录下文件sha256及文件大小统计
2019/02/25 Python
python3转换code128条形码的方法
2019/04/17 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
python中必要的名词解释
2019/11/20 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
Python爬虫开发与项目实战
2020/12/16 Python
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
新学期标语
2014/06/30 职场文书
公司户外活动总结
2014/07/04 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
外贸采购员岗位职责
2015/04/03 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
导游词之麻姑仙境
2019/11/18 职场文书