澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

一直为undefined问题的解决办法

最近本屌丝应项目开发需求,需要做个一个全选的checkbox功能。

jquery获取checkbox的attr(checked)一直为undefined问题的解决办法

使用 jquery 判断 checkbox 是否选中,大家估计马上就会想到如下方法:

$("#phpernote").attr("checked")

但是今天却发现这个语句总是返回undefined,非常不解,网上查了下,发现原来是这样的。

这个方法在 jquery1.6 版本及以上版本便对此做出了修改,修改的原因是:

checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变。

也就是说如果checkbox在页面加载完毕是选中的,那么返回的永远都是checked(我的一开始就是没选中)

如果一开始没被选中,则返回的永远是undefined !

因此 jquery 做了这个改动之后便用 .prop() 这个方法解决这个问题了。

关于 .prop() 的具体用法如下:

alert($("#phpernote").prop("checked"));

此时返回的结果就是 true 或者 false 了。

澳门皇冠金沙网站,因此关于工作中比较常见的全选可以这么写:

加入 #check_all 为全选的总 checkbox,.check_children 为子 checkbox

$("#check_all").change(function(){
 $('.check_children').prop("checked",this.checked);
});

或者:

$("#check_all").change(function(){ 
 var is_checked=$(this).prop("checked"); 
 $('.check_children').prop("checked",is_checked); 
});

哎呀吗~~这不是很简单的事情么,一个总的checkbox,N多个子checkbox,总的checkbox一旦选中,子checkbox全部选中,总的一旦不选中,子的也都不选中。

您可能感兴趣的文章

  • 复选框(checkbox)和单选框(radio)与文字水平垂直居中对齐的解决方法
  • jquery 获取checkbox的选中值(一组和单个)
  • 网页缓存控制 Cache-control 常见的取值有private、no-cache、max-age、must-revalidate 介绍
  • Firefox 提示event is not defined错误的解决办法
  • select into from 提示 Undeclared variable.....错误的解决办法
  • IE Frame 下 COOKIE SESSION失效的问题解决办法
  • mysql中null与not null的区别及效率问题
  • 彻底解决Button在IE6、7下的自适应宽度问题

使用 jquery 判断 checkbox 是否选中,大家估计马上就会想到如下方法: $("#phpernote...

拿到这个小需求,本屌丝一阵窃喜,多么简单的功能啊,OK,两分钟完事~~~

时间一分一秒的过去,本屌丝内心奔腾的草原的马儿,从一直逐渐增加到了千万只~~~

这尼玛怎么回事?
alert($("#checkbox_all").attr("checked"));
一直为undefined?

纳尼???

为啥会这样??浏览器你傻了吗?然后果断换浏览器测试,从chrome到IE,从IE到火狐。结果都是这样 -_-||

难道是jquery又做改进了????

经过本屌丝用哈勃望远镜和高清镭射电子显微镜的查看,终于找到了端倪。。。。

原来,在jquery1.6版本便对此做出了修改:

**【checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变。

也就是说如果checkbox在页面加载完毕是选中的,那么返回的永远都是checked(我的一开始就是没选中)

如果一开始没被选中,则返回的永远是undefined !】**

本文由澳门皇冠金沙网站发布于前端开发,转载请注明出处:一直为undefined问题的解决办法