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 相关文章推荐
解放web程序员的输入验证
Oct 06 Javascript
新老版本juqery获取radio对象的方法
Mar 01 Javascript
jQuery简单实现日历的方法
May 04 Javascript
浅谈jQuery构造函数分析
May 11 Javascript
javaScript数组迭代方法详解
Apr 14 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
Oct 13 Javascript
关于angularJs指令的Scope(作用域)介绍
Oct 25 Javascript
vue elementui el-form rules动态验证的实例代码详解
May 23 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
Aug 07 Javascript
vue实现点击追加选中样式效果
Nov 01 Javascript
基于JavaScript判断两个对象内容是否相等
Jan 10 Javascript
Angular5整合富文本编辑器TinyMCE的方法(汉化+上传)
May 26 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
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
2014/03/12 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
angularjs中回车键触发某一事件的方法
2017/04/24 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
node实现定时发送邮件的示例代码
2017/08/26 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
Python实现的tab文件操作类分享
2014/11/20 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
Python多重继承之菱形继承的实例详解
2020/02/12 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
大学生物业管理求职信
2013/10/24 职场文书
大学生职业生涯规划书范文
2014/01/14 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
2014年学雷锋活动总结
2014/06/26 职场文书