js与jQuery实现checkbox复选框全选/全不选的方法


Posted in Javascript onJanuary 05, 2016

本文实例讲述了js与jQuery实现checkbox复选框全选/全不选的方法。分享给大家供大家参考,具体如下:

先来看看JavaScript实现checkbox复选框全选/全不选的方法。这应该是一个比较实用的前端技巧吧,很多时候我们都需要点击一个checkbox,然后将所有的复选框自动全部选中,比如新浪邮箱中,一些CMS系统的后台中,使用本JS效果后,会大大增强了操作体验,那么究竟是如何实现这一功能的呢?别着急,跟我一步一步实现。

我们先把那些带复选框的列表弄好,还没加全选、全不选时候的状态,大概是这样的:

<input type=checkbox name=chk>
<input type=checkbox name=chk>
<input type=checkbox name=chk>
<input type=checkbox name=chk>
<input type=checkbox name=chk>
<input type=checkbox name=chk>

然后我们在列表的旁边放一个控制checkbox的Checkbox:

全选:

<input type=checkbox onclick=sel('chk')>

下面是定义点击全选的checkBox后所要执行的JS代码,用JS遍历所有checkbox,并改变checkbox的状态:

<script language="javascript">
 function sel(a){
 o=document.getElementsByName(a)
 for(i=0;i<o.length;i++)
 o[i].checked=event.srcElement.checked
 }
</script>

下面还有一种实现JS全选、反选的功能,直接帖代码了,自己整理吧。

<input type=checkbox name=m>
<input type=checkbox name=m>
<input type=checkbox name=m>
<!--放一个控制全选的按钮-->
全选<input type="checkbox" value="1" onclick="mm(this)">
<script language=javascript>
<!--JS部分-->
function mm(o)
{
  var a = document.getElementsByName("m");
  for (var i=0;i<a.length;i++){
    a[i].checked = o.checked;
  }
}
</script>

两种方法任选一吧,都比较容易。

下面再来介绍一下jQuery实现checkbox复选框全选/全不选的方法。虽然使用JavaScript很简单就可以实现,但是代码就非常的麻烦了。

下面我来给各位朋友介绍介绍使用jQuery具体的操作方法。

jQuery.attr  获取/设置对象的属性值,如:

$("input[name='chk_list']").attr("checked"); //读取所有name为'chk_list'对象的状态(是否选中)
$("input[name='chk_list']").attr("checked",true); //设置所有name为'chk_list'对象的checked为true

再如:

$("#img_1").attr("src","test.jpg"); //设置ID为img_1的<img>src的值为'test.jpg'
$("#img_1").attr("src"); //读取ID为img_1的<img>src值

例1:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
 <meta charset="utf-8">
<script src="jquery-1.7.2.min.js"></script>
<script>
 $(document).ready(function(){
 //是否选择进行判断
 $(".btn").click(function(){
  if ($("input:checkbox:checked").length == 0)
  {
  alert('你未选择爱好');
  }
 });
 //进行反选
  $(".btn1").click(function(){
  $("input[type=checkbox]").each(function(){
  if ($(this).attr("checked"))
  {
   $(this).attr("checked",false);
  }else{
   $(this).attr("checked",true);
  }
  });
  });
  });
 </script>
 </head>
<body>
爱好:
<input type="checkbox" name="fav[]" value="read">阅读
<input type="checkbox" name="fav[]" value="music">音乐
<input type="checkbox" name="fav[]" value="sport">体育<br />
<input type="button" name="btn" class="btn" value="提交">
<input type="button" name="btn1" class="btn1" value="反选">
</body>
</html>

例2:

<script src="jquery-1.3.2.min.js"></script>
<input type="checkbox" name="checkbox_name[]" id="checkbox_name_1″ />1<br /> <input type="checkbox" name="checkbox_name[]" id="checkbox_name_2″ />2<br />
<input type="checkbox" name="checkbox_name[]" id="checkbox_name_3″ />3<br />
<input type="checkbox" name="checkbox_name[]" id="checkbox_name_4″ />4<br />
<input type="checkbox" name="checkedAll" id="checkedAll"/>全选/取消全选
<script type="text/javascript">
<!--
$(function() {
$("#checkedAll").click(function() {
if ($(this).attr("checked") == true) { // 全选
$("input[name='checkbox_name[]']").each(function() {
$(this).attr("checked", true);
});
} else { // 取消全选
$("input[name='checkbox_name[]']").each(function() {
$(this).attr("checked", false);
});
}
});
});
// -->
</script>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
基于jquery的loading 加载提示效果实现代码
Sep 01 Javascript
js中的异常处理try...catch使用介绍
Sep 21 Javascript
jquery.post用法关于type设置问题补充
Jan 03 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
Centos7 中 Node.js安装简单方法
Nov 02 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
nuxt+axios解决前后端分离SSR的示例代码
Oct 24 Javascript
微信小程序使用template标签实现五星评分功能
Nov 03 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
May 15 Javascript
微信公众号生成新浪短网址的实现(快速生成)
Aug 18 Javascript
JavaScript获取某一天所在的星期
Sep 05 Javascript
vue实现购物车小案例
Sep 27 Javascript
简述jQuery ajax的执行顺序
Jan 05 #Javascript
JavaScript类型系统之正则表达式
Jan 05 #Javascript
jQuery中ajax的load()与post()方法实例详解
Jan 05 #Javascript
jQuery Mobile弹出窗、弹出层知识汇总
Jan 05 #Javascript
AngularJS 使用$sce控制代码安全检查
Jan 05 #Javascript
JS常见问题之为什么点击弹出的i总是最后一个
Jan 05 #Javascript
浅谈javascript 函数表达式和函数声明的区别
Jan 05 #Javascript
You might like
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
ThinkPHP3.1新特性之G方法的使用
2014/06/19 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
jQuery对象和Javascript对象之间转换的实例代码
2013/03/20 Javascript
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
Vue开发之watch监听数组、对象、变量操作分析
2019/04/25 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
vue 实现走马灯效果
2019/10/28 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
11个Javascript小技巧帮你提升代码质量(小结)
2020/12/28 Javascript
用python写的一个wordpress的采集程序
2016/02/27 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
浅谈Python中的全局锁(GIL)问题
2019/01/11 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
python实现视频读取和转化图片
2019/12/10 Python
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
Java servlet面试题
2012/03/04 面试题
北大自主招生自荐信
2013/10/19 职场文书
铲车司机岗位职责
2014/03/15 职场文书
个人合作协议书范本
2014/04/18 职场文书
业务员辞职信范文
2015/03/02 职场文书
2015年教师党员承诺书
2015/04/27 职场文书
党小组意见范文
2015/06/08 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL
Python日志模块logging用法
2022/06/05 Python
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS