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 相关文章推荐
无刷新上传文件并返回自定义值
Jun 11 Javascript
针对初学者的jQuery入门指南
Aug 15 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
Sep 01 Javascript
浅谈JavaScript函数的四种存在形态
Jun 08 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
Apr 07 Javascript
vue-cli如何快速构建vue项目
Apr 26 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
May 17 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
Oct 09 Javascript
小程序封装路由文件和路由方法(5种全解析)
May 26 Javascript
微信小程序实现一张或多张图片上传(云开发)
Sep 25 Javascript
three.js利用卷积法如何实现物体描边效果
Nov 27 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
2014/07/10 PHP
Laravel框架实现发送短信验证功能代码
2016/06/06 PHP
发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
2007/11/30 Javascript
Javascript Select操作大集合
2009/05/26 Javascript
类似CSDN图片切换效果脚本
2009/09/17 Javascript
表格 隔行换色升级版
2009/11/07 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
利用node.js开发cli的完整步骤
2020/12/29 Javascript
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
Django实现分页功能
2018/07/02 Python
基于python指定包的安装路径方法
2018/10/27 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
python如何建立全零数组
2020/07/19 Python
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
中英文求职信范文
2015/03/19 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
MySQL去除密码登录告警的方法
2022/04/20 MySQL