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 10 Javascript
Firefox outerHTML实现代码
Jun 04 Javascript
javascript Base类 包含基本的方法
Jul 22 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
Feb 26 Javascript
小米公司JavaScript面试题
Dec 29 Javascript
javascript实现uploadify上传格式以及个数限制
Nov 23 Javascript
分享使用AngularJS创建应用的5个框架
Dec 05 Javascript
js实现对table的增加行和删除行的操作方法
Oct 13 Javascript
简单几步实现返回顶部效果
Dec 05 Javascript
浅谈Vue项目骨架屏注入实践
Aug 05 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
Oct 11 Javascript
JavaScript对象字面量和构造函数原理与用法详解
Apr 18 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
第三节--定义一个类
2006/11/16 PHP
php根据分类合并数组的方法实例详解
2013/11/06 PHP
PHP操作Redis数据库常用方法示例
2018/08/25 PHP
让广告代码不再影响你的网页加载速度
2006/07/07 Javascript
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
2009/07/29 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
AngularJS 最常用的功能汇总
2016/02/17 Javascript
js修改onclick动作的四种方法(推荐)
2016/08/18 Javascript
AngularJS双向绑定和依赖反转实例详解
2017/04/15 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
2017/06/19 Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
2018/06/19 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
vue的全局变量和全局拦截请求器的示例代码
2018/09/13 Javascript
详解vue.js移动端配置flexible.js及注意事项
2019/04/10 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
详细分析JavaScript中的深浅拷贝
2020/09/17 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
利用Python画ROC曲线和AUC值计算
2016/09/19 Python
python模块之time模块(实例讲解)
2017/09/13 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
python生成以及打开json、csv和txt文件的实例
2018/11/16 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
python实现网页录音效果
2020/10/26 Python
金智子午JAVA面试题
2015/09/04 面试题
涉外文秘个人求职的自我评价
2013/10/07 职场文书
优秀导游先进事迹材料
2014/01/25 职场文书
音乐幼师求职信
2014/07/09 职场文书
前台接待岗位职责
2015/02/03 职场文书
法律意见书范文
2015/05/20 职场文书
企业党建工作总结2015
2015/05/26 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang