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 相关文章推荐
Jquery ajaxsubmit上传图片实现代码
Nov 04 Javascript
js取消单选按钮选中并判断对象是否为空
Nov 14 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
jquery实现点击展开列表同时隐藏其他列表
Aug 10 Javascript
JS实现自定义简单网页软键盘效果代码
Nov 05 Javascript
jQuery基本选择器之标签名选择器
Sep 03 Javascript
快速解决vue在ios端下点击响应延时的问题
Aug 27 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
Sep 12 Javascript
使用nvm和nrm优化node.js工作流的方法
Jan 17 Javascript
巧妙运用v-model实现父子组件传值的方法示例
Apr 07 Javascript
何时/使用 Vue3 render 函数的教程详解
Jul 25 Javascript
vue+element实现动态加载表单
Dec 13 Vue.js
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
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
Aster vs KG BO3 第二场2.18
2021/03/10 DOTA
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
jQuery EasyUI封装简化操作
2016/09/18 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
2017/08/04 jQuery
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
Vue.js样式动态绑定实现小结
2019/01/24 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
vue+iview实现分页及查询功能
2020/11/17 Vue.js
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
对python中的xlsxwriter库简单分析
2018/05/04 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
Python线程指南分享
2019/11/19 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
Python 程序员必须掌握的日志记录
2020/08/17 Python
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
心理健康教育心得体会
2013/12/29 职场文书
班主任工作年限证明
2014/01/12 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android