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实例教程(19) 使用HoTMetal(1)
Dec 23 Javascript
用javascript实现的仿Flash广告图片轮换效果
Apr 24 Javascript
javascript xml为数据源的下拉框控件
Jul 07 Javascript
基于Asp.net与Javascript控制的日期控件
May 22 Javascript
JavaScript在XHTML中的用法详解
Apr 11 Javascript
CSS图片响应式 垂直水平居中
Aug 14 Javascript
全面解析Bootstrap表单使用方法(表单样式)
Nov 24 Javascript
JavaScript中的事件委托及好处
Jul 12 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
微信小程序 location API实例详解
Oct 02 Javascript
详解vue-router数据加载与缓存使用总结
Oct 29 Javascript
vue自定义switch开关组件,实现样式可自行更改
Nov 01 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
人族 Terran 魔法与科技
2020/03/14 星际争霸
php中try catch捕获异常实例详解
2014/11/21 PHP
PHP 与 UTF-8 的最佳实践详细介绍
2017/01/04 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
JS+html5 canvas实现的简单绘制折线图效果示例
2017/03/13 Javascript
JS实现侧边栏鼠标经过弹出框+缓冲效果
2017/03/29 Javascript
bootstrap table实现点击翻页功能 可记录上下页选中的行
2017/09/28 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
python从sqlite读取并显示数据的方法
2015/05/08 Python
Python删除空文件和空文件夹的方法
2015/07/14 Python
python机器学习之神经网络实现
2018/10/13 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
pymysql 开启调试模式的实现
2019/09/24 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
快时尚眼镜品牌,全国连锁眼镜店:LOHO眼镜生活
2018/10/08 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
什么是SCM(软件配置管理)
2014/08/16 面试题
仓管员岗位职责范文
2013/11/08 职场文书
升职自荐书范文
2013/11/28 职场文书
前台岗位职责范本
2015/04/16 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
2016年庆祝六一儿童节活动总结
2016/04/06 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏