解决checkbox的attr(checked)一直为undefined问题
2015-10-15 11:19
246 查看
原来项目里的多选一直好使,后来换成bootstrap后就不好使了,发现是更改了jq,升级导致的
检查代码发现,原来的代码
//全选/取消
$("#check").click(function(){
if($(this).attr("checked")=="checked"){
setCheckbox(true);
}else{
setCheckbox(false);
}
});
经过查找资料发现
原资料网址
http://www.jb51.net/article/51136.htm
原来,在jquery1.6版本便对此做出了修改:
【checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变。
也就是说如果checkbox在页面加载完毕是选中的,那么返回的永远都是checked(我的一开始就是没选中)
如果一开始没被选中,则返回的永远是undefined !】
既然jquery对此做出了修改,那肯定也就是有相应的更好的解决方法:
.prop()便是解决这个问题的利器!
具体用法如下:
alert($("#checkbox_all").prop("checked"));
此时就会变成true或者false啦~~
改编后的代码
//全选/取消
$("#check").click(function(){
var is_checked = $(this).prop("checked");
if(is_checked==true){
setCheckbox(true);
}else{
setCheckbox(false);
}
});
检查代码发现,原来的代码
//全选/取消
$("#check").click(function(){
if($(this).attr("checked")=="checked"){
setCheckbox(true);
}else{
setCheckbox(false);
}
});
经过查找资料发现
原资料网址
http://www.jb51.net/article/51136.htm
原来,在jquery1.6版本便对此做出了修改:
【checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变。
也就是说如果checkbox在页面加载完毕是选中的,那么返回的永远都是checked(我的一开始就是没选中)
如果一开始没被选中,则返回的永远是undefined !】
既然jquery对此做出了修改,那肯定也就是有相应的更好的解决方法:
.prop()便是解决这个问题的利器!
具体用法如下:
alert($("#checkbox_all").prop("checked"));
此时就会变成true或者false啦~~
改编后的代码
//全选/取消
$("#check").click(function(){
var is_checked = $(this).prop("checked");
if(is_checked==true){
setCheckbox(true);
}else{
setCheckbox(false);
}
});
相关文章推荐
- Linux下结合inode删除特殊文件
- Rhino JavaScript 解析引擎-------Ant
- php生成PDF文件(FPDF)
- iOS 闭包中的[weak self]在什么情况下需要使用,什么情况下可以不加?
- 关于block使用的5点注意事项
- DWR3.0框架入门(1) —— 实现ajax
- 红黑树实现
- 免费手机号码归属地API查询接口和PHP使用实例分享
- 解析jffs2文件系统镜像文件
- 解决TPMS灯亮的问题
- linux系统的目录及文件汇总表
- 在centos中运行java命令时出现Error: Could not find or load main class XXX问题的解决方法
- 使用Dom4j解析XML
- 使用云服务器开启了服务却Telnet不到端口问题的解决
- 大数基本运算
- [Flex] ButtonBar系列——flex3 ButtonBar样式之颜色的填充
- PowerDesigner could not initalize javaVM的解决方法
- Photoshop绘制一个打开逼真的流出的鸡蛋
- 从新建项目到打包成APK(Cocos2d-x 2.2.1)
- 8 Largest product in a series - Project Euler