jQuery 全选 全部选 反选 实现代码


Posted in Javascript onAugust 17, 2016

1.概述

在项目中经常遇到列表中对复选框进行勾选操作,全选。。。反选。。

2. example

<html>
<body>
<form id="test-form" action="test">
<legend>请选择想要学习的编程语言:</legend>
<fieldset>
<p><label class="selectAll"><input type="checkbox"> <span class="selectAll">全选</span><span class="deselectAll">全不选</span></label> <a href="#0" class="invertSelect">反选</a></p>
<p><label><input type="checkbox" name="lang" value="javascript"> JavaScript</label></p>
<p><label><input type="checkbox" name="lang" value="python"> Python</label></p>
<p><label><input type="checkbox" name="lang" value="ruby"> Ruby</label></p>
<p><label><input type="checkbox" name="lang" value="haskell"> Haskell</label></p>
<p><label><input type="checkbox" name="lang" value="scheme"> Scheme</label></p>
<p><button type="submit">Submit</button></p>
</fieldset>
</form>
<script src="jquery-3.1.0.js"></script>
<script type="text/javascript">
$(function(){
(function(){
var
form = $('#test-form'),
langs = form.find('[name=lang]'),
selectAll = form.find('label.selectAll :checkbox'),
selectAllLabel = form.find('label.selectAll span.selectAll'),
deselectAllLabel = form.find('label.selectAll span.deselectAll'),
invertSelect = form.find('a.invertSelect');
// 重置初始化状态:
form.find('*').show().off();
form.find(':checkbox').prop('checked', false).off();
deselectAllLabel.hide();
// 拦截form提交事件:
form.off().submit(function (e) {
e.preventDefault();
alert(form.serialize());
});
var count = 1; //点击全选/全不选框次数
selectAll.click(function(){
if(count++ %2){
selectAllLabel.hide();
deselectAllLabel.show();
$(this).prop("checked", false);
langs.prop("checked", true);
}else {
selectAllLabel.show();
deselectAllLabel.hide();
$(this).prop("checked", false);
langs.prop("checked", false);
}
});
invertSelect.on('click', function(){
langs.map(function(){
$(this).prop('checked', !this.checked);
});
});
})();
});
</script>
</body>
</html>

以上所述是小编给大家介绍的jQuery 全选 全部选 反选 实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
让你的网站可编辑的实现js代码
Oct 19 Javascript
Javascript学习笔记8 用JSON做原型
Jan 11 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
Apr 02 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
Jul 04 Javascript
浅谈JS日期(Date)处理函数
Dec 07 Javascript
node.js中的console.trace方法使用说明
Dec 09 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
Aug 02 Javascript
详解基于angular路由的requireJs按需加载js
Jan 20 Javascript
Vue 2.X的状态管理vuex记录详解
Mar 23 Javascript
javascript 通过键名获取键盘的keyCode方法
Dec 31 Javascript
使用watch监听路由变化和watch监听对象的实例
Feb 24 Javascript
动态加载、移除js/css文件的示例代码
Mar 20 Javascript
AngularJS 自定义指令详解及示例代码
Aug 17 #Javascript
AngularJS 依赖注入详解及示例代码
Aug 17 #Javascript
AngularJS 服务详细讲解及示例代码
Aug 17 #Javascript
深入理解jQuery layui分页控件的使用
Aug 17 #Javascript
AngularJS 作用域详解及示例代码
Aug 17 #Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
Aug 17 #Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
Aug 17 #Javascript
You might like
ThinkPHP的I方法使用详解
2014/06/18 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
PDO::inTransaction讲解
2019/01/28 PHP
js防止表单重复提交实现代码
2012/09/05 Javascript
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
javascript数组快速打乱重排的方法
2014/01/02 Javascript
7个JS基础知识总结
2014/03/05 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
jquery实现标签上移、下移、置顶
2015/04/26 Javascript
JavaScript+html5 canvas制作的圆中圆效果实例
2016/01/27 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
Vue js 的生命周期(看了就懂)(推荐)
2019/03/29 Javascript
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
Python中使用item()方法遍历字典的例子
2014/08/26 Python
python检测远程端口是否打开的方法
2015/03/14 Python
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
2017/03/20 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
python按键按住不放持续响应的实例代码
2019/07/17 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
python实现人脸签到系统
2020/04/13 Python
Python datetime模块的使用示例
2021/02/02 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
个人教师自我评价范文
2013/12/02 职场文书