Jquery全选与反选点击执行一次的解决方案


Posted in Javascript onAugust 14, 2015

代码需求, 使用attr只能执行一次,使用prop则完美实现全选和反选,获取所有选中的项并把选中项的文本组成一个字符串。

解决方案一:

代码如下:

<html>
<head>
<script src="jquery-1.11.1.min.js" type="text/javascript"></script>
</head>
<body>

<input type="checkbox" name="chk_list[]" value="1" />1

<input type="checkbox" name="chk_list[]" value="2" />2

<input type="checkbox" name="chk_list[]" value="3" />3

<input type="checkbox" name="chk_list[]" value="4" />4

<input type="checkbox" name="chk_all" id="chk_all" />全选/取消全选
<script type="text/javascript">

$("#chk_all").click(function(){
 
// 使用attr只能执行一次
 
$("input[name='chk_list[]']").attr("checked", $(this).attr("checked")); 
 
// 使用prop则完美实现全选和反选
 
$("input[name='chk_list[]']").prop("checked", $(this).prop("checked"));


// 获取所有选中的项并把选中项的文本组成一个字符串
 
var str = '';
 
$($("input[name='chk_list[]']:checked")).each(function(){
 
str += $(this).next().text() + ',';
 
});
 
alert(str);

});
</script>
</body>
</html>

总结:

对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。

对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。

参考 https://3water.com/article/62308.htm

解决方案二:

问题描述:

$(".chooseall").click(function(){
 if($(".chooseall").attr("checked") == "checked"){
$("input[name='checkbox1']").removeAttr("checked","checked");
 console.log(1);
 }else{
 $("input[name='checkbox1']").attr("checked","checked");
 console.log(2);
 }
});

上面的这个代码第一次点击和第二次点击,能实现全选和反选功能,但一遍之后就不再起作用,这是什么情况啊

Jquery全选与反选点击执行一次的解决方案

除了第一个checkbox之外,其余的都是ajax动态生成的,跟这个有关系么?console.log每次点击的都能交替输出1和2,但就是中间的代码不能执行。

解决方案:

removeAttr参数只需要一个,removeAttr("checked")
不过建议替换成

$(".chooseall").click(function(){
 if($(".chooseall").prop("checked") == true){
 $("input[name='checkbox1']").prop("checked", false);
 console.log(1);
 }else{
 $("input[name='checkbox1']").prop("checked", false);
 console.log(2);
 }
});

或者更简洁的,

$(".chooseall").click(function(){
 var isChecked = $(this).prop("checked");
 $("input[name='checkbox1']").prop("checked", isChecked);
});

以上是Jquery全选与反选点击执行一次的解决方案,希望对大家有所帮助。

Javascript 相关文章推荐
广告显示判断
Aug 31 Javascript
javascript Array.sort() 跨浏览器下需要考虑的问题
Dec 07 Javascript
js 效率组装字符串 StringBuffer
Dec 23 Javascript
js中escape对应的C#解码函数 UrlDecode
Dec 16 Javascript
jQuery 回调函数(callback)的使用和基础
Feb 26 Javascript
jQuery使用fadein方法实现渐出效果实例
Mar 27 Javascript
BootStrap网页中代码显示用法详解
Oct 21 Javascript
vue小白入门教程
Apr 02 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
Aug 27 Javascript
用js实现放大镜效果
Oct 28 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
Jan 26 Javascript
JavaScript点击按钮生成4位随机验证码
Jan 28 Javascript
js实现Select列表各项上移和下移的方法
Aug 14 #Javascript
innerHTML中标签可以换行的方法汇总
Aug 14 #Javascript
jQuery编程中的一些核心方法简介
Aug 14 #Javascript
CSS图片响应式 垂直水平居中
Aug 14 #Javascript
js实现选中复选框文字变色的方法
Aug 14 #Javascript
avalon js实现仿微博拖动图片排序
Aug 14 #Javascript
javascript实现显示和隐藏div方法汇总
Aug 14 #Javascript
You might like
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
jQuery网页版打砖块小游戏源码分享
2015/08/20 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
Nodejs进阶:基于express+multer的文件上传实例
2016/11/21 NodeJs
关于axios返回空对象的问题解决
2017/04/04 Javascript
基于JQuery的Ajax方法使用详解
2017/08/16 jQuery
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
2018/08/08 Javascript
JS实现移动端可折叠导航菜单(现代都市风)
2020/07/07 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
让Python代码更快运行的5种方法
2015/06/21 Python
Python while 循环使用的简单实例
2016/06/08 Python
Python读取csv文件分隔符设置方法
2019/01/14 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
Django Rest framework频率原理与限制
2019/07/26 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
python sorted函数原理解析及练习
2020/02/10 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
c++工程师面试问题
2013/08/04 面试题
会计电算化专业应届大学生求职信
2013/10/22 职场文书
夜大自我鉴定
2013/10/31 职场文书
实习协议书范本
2014/09/25 职场文书
作弊检讨书范文
2015/05/06 职场文书