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进阶教程(第四课第一部分)
Apr 05 Javascript
JS 添加千分位与去掉千分位的示例
Jul 11 Javascript
jquery 通过name快速取值示例
Jan 24 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
Jun 05 Javascript
Angular.js基础学习之初始化
Mar 10 Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
JavaScript+HTML5 canvas实现放大镜效果完整示例
May 15 Javascript
微信小程序上传文件到阿里OSS教程
May 20 Javascript
详解Vue中组件传值的多重实现方式
Aug 16 Javascript
keep-alive不能缓存多层级路由菜单问题解决
Mar 10 Javascript
JavaScript碰撞检测原理及其实现代码
Mar 12 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生成静态页面详解
2006/12/05 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
fleaphp crud操作之findByField函数的使用方法
2011/04/23 PHP
解析php dirname()与__FILE__常量的应用
2013/06/24 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
csdn 论坛技术区平均给分功能
2009/11/07 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
javascript中的startWith和endWith的几种实现方法
2013/05/07 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
ajax与jsonp的区别及用法
2018/10/16 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
Python3基础之条件与循环控制实例解析
2014/08/13 Python
Python求解平方根的方法
2015/03/11 Python
详解Django中异步任务之django-celery
2020/11/05 Python
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
放飞中国梦演讲稿
2014/04/23 职场文书
促销活动总结怎么写
2014/06/25 职场文书
教师一帮一活动总结
2014/07/08 职场文书
就业协议书样本
2014/08/20 职场文书
八年级英语教学计划
2015/01/23 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
刑事申诉状范文
2015/05/20 职场文书