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 相关文章推荐
使用apply方法处理数组的三个技巧[译]
Sep 20 Javascript
Javascript封装DOMContentLoaded事件实例
Jun 12 Javascript
jquery提示效果实例分析
Nov 25 Javascript
jquery插件NProgress.js制作网页加载进度条
Jun 05 Javascript
JS 动态判断PC和手机浏览器实现代码
Sep 21 Javascript
微信小程序 wxapp视图容器 view详解
Oct 31 Javascript
Angular路由简单学习
Dec 26 Javascript
本地存储localStorage用法详解
Jul 31 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
Dec 11 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
May 24 Javascript
基于vue和websocket的多人在线聊天室
Feb 01 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
第十四节--命名空间
2006/11/16 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
javascript设计模式之解释器模式详解
2014/06/05 Javascript
javascript实用方法总结
2015/02/06 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
nuxt.js中间件实现拦截权限判断的方法
2018/11/21 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
深入了解Vue动态组件和异步组件
2021/01/26 Vue.js
Python制作简单的网页爬虫
2015/11/22 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Python socket连接中的粘包、精确传输问题实例分析
2020/03/24 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Python3获取cookie常用三种方案
2020/10/05 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
十八大报告观后感
2014/01/28 职场文书
贷款委托书
2014/08/01 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
民用住房租房协议书
2014/10/29 职场文书
MySQL锁机制
2021/04/05 MySQL
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle