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 相关文章推荐
JavaScript识别网页关键字并进行描红的方法
Nov 09 Javascript
jQuery插件jquery-barcode实现条码打印的方法
Nov 25 Javascript
如何判断Javascript对象是否存在的简单实例
May 18 Javascript
完美实现八种js焦点轮播图(上篇)
Jul 18 Javascript
利用Angularjs实现幻灯片效果
Sep 07 Javascript
bootstrap配合Masonry插件实现瀑布式布局
Jan 18 Javascript
详解vue-resource promise兼容性问题
Jun 20 Javascript
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
Vue.js自定义指令学习使用详解
Oct 19 Javascript
微信小程序scroll-view点击项自动居中效果的实现
Mar 25 Javascript
vue样式穿透 ::v-deep的具体使用
Jun 04 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
Nov 07 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的可变变量名的使用方法分享
2012/02/05 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
在SAE上搭建最新wordpress的方法
2014/12/21 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
php实现JWT验证的实例教程
2020/11/26 PHP
jQuery 入门讲解1
2009/04/15 Javascript
基于jquery的15款幻灯片插件
2011/04/10 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
JavaScript数组合并的多种方法
2016/05/22 Javascript
Javascript单例模式的介绍和实例
2016/10/08 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
关于vue面试题汇总
2018/03/20 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
python操作excel的方法
2018/08/16 Python
NLTK 3.2.4 环境搭建教程
2018/09/19 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
用友笔试题目
2016/10/25 面试题
大学毕业生工作的自我评价
2013/10/01 职场文书
大学生如何写自荐信
2014/01/08 职场文书
2014公安机关纪律作风整顿思想汇报
2014/09/13 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
民政工作个人总结
2015/02/28 职场文书
销售开票员岗位职责
2015/04/15 职场文书
2016大学军训心得体会
2016/01/11 职场文书