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 相关文章推荐
JavaScript中的其他对象
Jan 16 Javascript
JavaScript中函数声明优先于变量声明的实例分析
Mar 01 Javascript
Js 获取Gridview选中行的内容操作步骤
Feb 05 Javascript
jquery each的几种常用的使用方法示例
Jan 21 Javascript
jquery实现背景墙聚光灯效果示例分享
Mar 02 Javascript
微信小程序 开发经验整理
Feb 15 Javascript
Vue表单验证插件Vue Validator使用方法详解
Apr 07 Javascript
浅谈在koa2中实现页面渲染的全局数据
Oct 09 Javascript
微信小程序自定义组件之可清除的input组件
Jul 17 Javascript
小程序绑定用户方案优化小结
May 15 Javascript
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
js实现百度登录窗口拖拽效果
Mar 19 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
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
karma+webpack搭建vue单元测试环境的方法示例
2018/05/24 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
python实现简单ftp客户端的方法
2015/06/28 Python
Python打包可执行文件的方法详解
2016/09/19 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
学习python分支结构
2019/05/17 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
python palywright库基本使用
2021/01/21 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
孝老爱亲事迹材料
2014/12/24 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
商务司机岗位职责
2015/04/10 职场文书
金砖之国观后感
2015/06/11 职场文书
2016国庆促销广告语
2016/01/28 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
深入浅析React中diff算法
2021/05/19 Javascript
浅谈Golang 切片(slice)扩容机制的原理
2021/06/09 Golang
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
Python+tkinter实现高清图片保存
2022/03/13 Python