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 相关文章推荐
javascript删除数组元素并且数组长度减小的简单实例
Feb 14 Javascript
js动态控制table的tr、td增加及删除的具体实现
Apr 30 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
jQuery UI库中dialog对话框功能使用全解析
Apr 23 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
Aug 02 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
Dec 14 Javascript
原生JS实现层叠轮播图
May 17 Javascript
jquery DataTable实现前后台动态分页
Jun 17 jQuery
JS+HTML+CSS实现轮播效果
Nov 28 Javascript
vue 权限认证token的实现方法
Jul 17 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
May 11 Javascript
vue-model实现简易计算器
Aug 17 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
模仿OSO的论坛(四)
2006/10/09 PHP
php生成随机颜色的方法
2014/11/13 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
Codeigniter控制器controller继承问题实例分析
2016/01/19 PHP
IIS 7.5 asp Session超时时间设置方法
2017/04/17 PHP
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
基于vue-cli、elementUI的Vue超简单入门小例子(推荐)
2019/04/17 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
[01:00]DOTA2 store: Collection of Artisan's Wonders
2015/08/12 DOTA
Django rest framework实现分页的示例
2018/05/24 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
Python函数基本使用原理详解
2020/03/19 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
python 装饰器的使用示例
2020/10/10 Python
python实现视频压缩功能
2020/12/18 Python
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
什么是类的返射机制
2016/02/06 面试题
文秘专业大学生求职信
2013/11/10 职场文书
水务局局长岗位职责
2013/11/28 职场文书
见习期自我鉴定
2014/01/31 职场文书
毕业生自荐书
2014/02/02 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python