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 相关文章推荐
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
Jan 03 Javascript
Javascript this 关键字 详解
Oct 22 Javascript
jquery实现相册一下滑动两次的方法
Feb 09 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
May 14 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
Feb 18 Javascript
JS添加删除DIV的简单实例
Jul 08 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
简单实现vue验证码60秒倒计时功能
Oct 11 Javascript
详谈js中标准for循环与foreach(for in)的区别
Nov 02 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
Aug 02 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
超人钢铁侠联手合作?美漫作家呼吁DC漫威合作联动以抵抗疫情
2020/04/09 欧美动漫
PHP-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
PHP使用range协议实现输出文件断点续传代码实例
2014/07/04 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
11个用于提高排版水平的基于jquery的文字效果插件
2012/09/14 Javascript
js 调用百度分享功能
2017/02/27 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
2017/04/01 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
通过实例学习React中事件节流防抖
2019/06/17 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
100行python代码实现跳一跳辅助程序
2018/01/15 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
利用Python绘制Jazz网络图的例子
2019/11/21 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
机械专业毕业生自荐信
2013/11/02 职场文书
移动通信专业自荐信范文
2013/11/12 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
团代会主持词
2014/04/02 职场文书
会议通知
2015/04/15 职场文书
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python