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 相关文章推荐
你需要知道的JavsScript可以做什么?
Jun 29 Javascript
javascript学习笔记(十九) 节点的操作实现代码
Jun 20 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
Apr 08 Javascript
jQuery的css()方法用法实例
Dec 24 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
Jan 09 Javascript
jquery判断当前浏览器的实现代码
Nov 07 Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
Jun 17 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
Oct 26 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
Vue项目history模式下微信分享爬坑总结
Mar 29 Javascript
layer设置maxWidth及maxHeight解决方案
Jul 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
文章推荐系统(二)
2006/10/09 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
JS类中定义原型方法的两种实现的区别
2007/03/08 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
在Javascript中处理字符串之big()方法的使用
2015/06/08 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
2018/09/05 jQuery
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
Windows下安装python2.7及科学计算套装
2015/03/05 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
全神贯注教学反思
2014/02/03 职场文书
精神文明单位申报材料
2014/05/02 职场文书
升职感谢信
2015/01/22 职场文书
个人求职信格式范文
2015/03/20 职场文书
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
Python进行区间取值案例讲解
2021/08/02 Python
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android
MySQL普通表如何转换成分区表
2022/05/30 MySQL
css样式important规则的正确使用方式
2022/06/10 HTML / CSS