这里有新鲜出炉的 jQuery 示例,程序狗速度看过来!
jQuery 是一个兼容多浏览器的 javascript 框架,核心理念是 write less,do more(写得更少, 做得更多)。jQuery 在 2006 年 1 月由美国人 John Resig 在纽约的 barcamp 发布,吸引了来自世界各地的众多 JavaScript 高手加入,由 Dave Methvin 率领团队进行开发。
这篇文章主要介绍了基于 jQuery 的 checkbox 全选问题, 结合实例形式分析了 jQuery 实现全选功能中遇到的问题与相应的解决方法, 需要的朋友可以参考下
本文实例分析了基于 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0503/330388.html