jquery实现全选、不选、反选的两种方法


Posted in Javascript onSeptember 06, 2016

在取复选框checkbox的属性checked属性值时,发现一个问题,就是当用attr取值时,真的为"checked",假的为"undefined";当用prop取值时,真的为"true",假的为"false"。经过网上参考一些资料,及根据官方的建议这两个用法:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()。

方法一:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <title>全选、不选、反选 1</title>
 <script src="jquery.min.js"></script>
 <script>
 $(function(){
 $('.check .btn1').click(function(){//全选
$('.music :checkbox').prop('checked',true);
 });

 $('.check .btn2').click(function(){//全不选
$('.music :checkbox').prop('checked',false);
 });

 $('.check .btn3').click(function(){//反选
$('.music :checkbox').each(function(){
 $(this).prop('checked',!$(this).prop('checked'));
 });
 });
 });
 </script>
</head>
<body>
 <div class="music">
 <input type="checkbox" name="music1" value="小白兔">小白兔<br>
 <input type="checkbox" name="music2" value="小燕子">小燕子<br>
 <input type="checkbox" name="music3" value="哈巴狗">哈巴狗<br>
 <input type="checkbox" name="music4" value="小青蛙">小青蛙<br>
 <input type="checkbox" name="music5" value="数鸭子">数鸭子<br><br>
 </div>
 <div class="check">
 <button class="btn1">全选</button>
 <button class="btn2">全不选</button>
 <button class="btn3">反选</button>
 </div>
</body>
</html>

方法二:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="UTF-8">
 <title>全部由jquery动态生成</title>
 <script src="jquery.min.js"></script>
 <script>
 function checkAll(){//全选
$(":checkbox").prop("checked",true);
 }
 function checkNo(){//全不选
$(":checkbox").prop("checked",false);
 }
 function checkRev(){//反选
$(":checkbox").each(function(){
 $(this).prop("checked",!$(this).prop("checked"));
 });
 }
 
$(function(){
 var sec=$("<div></div>").appendTo($("body"));//创建一个div追加到body里面
var input="";//创建一个空的变量
for(var i=0;i<5;i++){
 var index=i+1;
 input+="<input type='checkbox' name='标题'"+index+"value='标题'"+index+">"+"标题"+index+"<br>";
 }//把从0到4每一个创建的input收集到空变量里面
sec.append(input);//再把这些收集到的所有input追加到div里面

sec.append($("<button onclick='checkAll()'>全选</button>"));//创建全选按钮,并追加到div里面
sec.append($("<button onclick='checkNo()'>全不选</button>"));//创建全不选按钮,并追加到div里面
sec.append($("<button onclick='checkRev()'>反选</button>"));//创建反选按钮,并追加到div里面
});
 </script>
</head>
<body>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript学习笔记6 prototype的提出
Jan 11 Javascript
使用JSLint提高JS代码质量方法分享
Dec 16 Javascript
js window.open弹出新的网页窗口
Jan 16 Javascript
jquery.validate.js插件使用经验记录
Jul 02 Javascript
easyui Draggable组件实现拖动效果
Aug 19 Javascript
js实现弹窗暗层效果
Jan 16 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
Feb 15 Javascript
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
Vue组件化开发思考
Feb 02 Javascript
javascript中的闭包概念与用法实践分析
Jul 26 Javascript
React 父子组件通信的实现方法
Dec 05 Javascript
Vue实现附件上传功能
May 28 Javascript
fullpage.js全屏滚动插件使用实例
Sep 06 #Javascript
AngularJS  $on、$emit和$broadcast的使用
Sep 05 #Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
Sep 05 #Javascript
Vuejs第六篇之Vuejs与form元素实例解析
Sep 05 #Javascript
Vue表单实例代码
Sep 05 #Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
Sep 05 #Javascript
JS实现的手机端精简幻灯片效果
Sep 05 #Javascript
You might like
通俗易懂的php防注入代码
2010/04/07 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
php多文件上传功能实现原理及代码
2013/04/18 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
JS遍历ul下的li点击弹出li的索引的实现方法
2016/09/19 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
2020/09/10 Javascript
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
如何基于线程池提升request模块效率
2020/04/18 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
公司JAVA开发面试题
2015/04/02 面试题
自考毕业生自我鉴定
2013/11/04 职场文书
施工单位安全责任书
2014/07/24 职场文书
单位授权委托书范本
2014/09/26 职场文书
监守自盗观后感
2015/06/10 职场文书
分家协议书范本
2016/03/22 职场文书