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 最佳实践
Oct 30 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
Aug 14 Javascript
javascript数组去重3种方法的性能测试与比较
Mar 26 Javascript
简体中文转换繁体中文(实现代码)
Dec 25 Javascript
js简单网速测试方法完整实例
Dec 15 Javascript
jQuery多文件异步上传带进度条实例代码
Aug 16 Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 Javascript
Vue 过滤器filters及基本用法
Dec 26 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
May 07 Javascript
LayUi数据表格自定义赋值方式
Oct 26 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
May 06 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 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
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php数据结构之顺序链表与链式线性表示例
2018/01/22 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
2007/04/12 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
JS中怎样判断undefined(比较不错的方法)
2014/03/27 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
Node.js中安全调用系统命令的方法(避免注入安全漏洞)
2014/12/05 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
Python 可爱的大小写
2008/09/06 Python
python中urllib.unquote乱码的原因与解决方法
2017/04/24 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
python实现打砖块游戏
2020/02/25 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
matlab中二维插值函数interp2的使用详解
2020/04/22 Python
DJI美国:消费类无人机领域的领导者
2018/04/27 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
成人大专自我鉴定范文
2013/10/19 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
小学六年级学生评语
2014/04/22 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
2014年化验员工作总结
2014/11/18 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL
Python利用capstone实现反汇编
2022/04/06 Python