jquery实现checkbox 全选/全不选的通用写法


Posted in Javascript onFebruary 22, 2014
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script type="text/javascript">
        //name 是html表单专用于区别各组 chechbox 的属性, 不要用id(必须唯一)或者其它属性
        function getValues() {
            var aV = getCheckboxValues("a");
            var bV = getCheckboxValues("b");
            var cV = getCheckboxValues("c");
            var result = "a组选中值: " + (aV=="" ? "未选中任何值" : aV) + "\n" +
                "b组选中值: " + (bV == "" ? "未选中任何值" : bV) + "\n" +
                "c组选中值: " + (cV == "" ? "未选中任何值" : cV);
            alert(result);
        }
        function getCheckboxValues(name) {
            return $(":checkbox[name="+name+"]:checked").map(function(){  
                return $(this).val(); 
            }).get().join(",");
        }
        function chkAll(obj) {
            var name = $(obj).attr("name");
            //也许你觉得我写得太复杂, 但jquery 版本众多, 可以学点东西总是好的
            //1. jquery 1.6 以上
            //$(":checkbox[name=" + name.substring(0, 1) + "]").prop("checked", $(obj).prop("checked"));
            //2. jquery 1.6 以下
            //$(":checkbox[name=" + name.substring(0, 1) + "]").attr("checked", $(obj).attr("checked"));
            //3. 通用写法
            $(":checkbox[name=" + name.substring(0, 1) + "]").each(function () {
                this.checked = obj.checked;
            });
        }
    </script>
</head>
<body>
    <div >
        <span>第1组(a):<input type="checkbox" name="aAll" onclick="chkAll(this)" />全选/全不选</span>
        <input type="checkbox" name="a" value="a1" checked="checked" />a1
        <input type="checkbox" name="a" value="a2" checked="checked"  />a2
        <input type="checkbox" name="a" value="a3" />a3
        <input type="checkbox" name="a" value="a4" />a4<br />
        <span>第2组(b):<input type="checkbox" name="bAll" onclick="chkAll(this)" />全选/全不选</span>
        <input type="checkbox" name="b" value="b1" />b1
        <input type="checkbox" name="b" value="b2" checked="checked" />b2
        <input type="checkbox" name="b" value="b3" checked="checked"  />b3
        <input type="checkbox" name="b" value="b4" />b4<br />
        <span>第3组(c):<input type="checkbox" name="cAll" onclick="chkAll(this)" />全选/全不选</span>
        <input type="checkbox" name="c" value="c1" />c1
        <input type="checkbox" name="c" value="c2" />c2
        <input type="checkbox" name="c" value="c3" checked="checked" />c3
        <input type="checkbox" name="c" value="c4" checked="checked"  />c4<br />
        <br />
        <input type="button" value="查找每组的选中的值" onclick="getValues()" />
    </div>
</body>
</html>
Javascript 相关文章推荐
页面只有一个text的时候,回车自动submit的解决方法
Aug 12 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
May 19 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
详细解读AngularJS中的表单验证编程
Jun 19 Javascript
JS实现仿新浪微博发布内容为空时提示功能代码
Aug 19 Javascript
Javascript类型转换的规则实例解析
Feb 23 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
Jan 14 Javascript
JavaScript提高加载和执行效率的方法
Feb 03 Javascript
Bootstrap缩略图与警告框学习使用
Feb 08 Javascript
js设置随机切换背景图片的简单实例
Nov 12 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
Aug 27 Javascript
Vertx基于EventBus发送接受自定义对象
Nov 16 Javascript
防止jQuery ajax Load使用缓存的方法小结
Feb 22 #Javascript
jquery中load方法的用法及注意事项说明
Feb 22 #Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
Feb 22 #Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
Feb 22 #Javascript
文本框水印提示效果的简单实现代码
Feb 22 #Javascript
jquery实现省市select下拉框的替换(示例代码)
Feb 22 #Javascript
jQuery实现下拉框左右选择的简单实例
Feb 22 #Javascript
You might like
在PHP的图形函数中显示汉字
2006/10/09 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
php魔术变量用法实例详解
2014/11/13 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
php实现session共享的实例方法
2019/09/19 PHP
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
Reactjs实现通用分页组件的实例代码
2017/01/19 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
Python中的命令行参数解析工具之docopt详解
2017/03/27 Python
python中解析json格式文件的方法示例
2017/05/03 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
国际贸易求职信
2014/07/05 职场文书
英语投诉信范文
2015/07/03 职场文书
中学生运动会广播稿
2015/08/19 职场文书
村官2015年度工作总结
2015/10/14 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang
SQL SERVER中的流程控制语句
2022/05/25 SQL Server