基于jQuery的checkbox全选问题分析
本文实例分析了基于jQuery的checkbox全选问题。分享给大家供大家参考,具体如下:
最近开发项目时遇到一个很奇怪的问题,就是checkbox的全选与全不选
使用jQuery的框架。一直是使用
//检测选中的checkbox $('input[name="abc"]:checked').each(function(){})
但是,发现我需要全选的时候,使用
$('input[name="abc"]').attr('checked',true); $('input[name="abc"]').attr('checked',false);
时,第一次加载的时候管用,再次点击就只显示它自己了
但是点击的时候,查看源代码,属性checked已经添加上了
百思不得其解,最后搜索到,原来是 attr属性 对于checked来说他不会使dom样式改变,只会将它的属性值改变,jquery提供了取而代之的方法,如下就可以了
$('input[name="abc"]').prop('checked',true); $('input[name="abc"]').prop('checked',false);
但是,问题又来了,不全选时我检测不到哪个元素被点击了,然后就在name上做文章
$('input[name="abc[]:checked"').each(function(i){}); //或者 $('input[name="abc[]"').each(function(i){ var flag = $(this).prop('checked'); if(flag){ //$(this) 即为选中元素 } })
问题解决。
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery form操作技巧汇总》、《jQuery切换特效与技巧总结》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》
希望本文所述对大家jQuery程序设计有所帮助。
相关文章
JQuery Tips相关(1)----关于$.Ready()
学习jQuery的第一件事是:如果你想要一个事件运行在你的页面上,你必须在$(document).ready()里调用这个事件。所有包括在$(document).ready()里面的元素或事件都将会在DOM完成加载之后立即加载,并且在页面内容加载之前。2014-08-08JQuery团队打造的javascript单元测试工具QUnit介绍
元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。单元测试主要是用来检验程式的内部逻辑,也称为个体测试、结构测试或逻辑驱动测试。通常由撰写程式码的程式设计师负责进行。2010-02-02
最新评论