jquery中复选框checked属性
来源:互联网 发布:电子标书的软件 编辑:程序博客网 时间:2024/06/11 04:51
以前看书及学习的时候 认为复选框的checked属性设置就是用attr()方法设置checked的属性,看来知识还是停留在表面。我的确看《锋利的jQuery》时候敲过代码,但真的是没好好斟酌,知识没深挖。
这里我也想说这本书中5.1.3的复选框应用的例子确实也有问题。它设置checked属性时讲的就是:(初始化时input元素未设置checked属性)
$("[name=items]:checkbox").attr('checked',true); // 勾选全选按钮的话,获取$("[name=items]:checkbox")的checked值是checked,而不是true;
$("[name=items]:checkbox").attr('checked',false); //去勾选时,获取$("[name=items]:checkbox")的checked值是undefined;
完成代码:
<!DOCTYPE HTML><html lang="en"><head> <meta charset="utf-8" /> <title>j3</title></head><body><input id="checkAll" type="checkbox" value="全选/全不选" /><br /><input type="checkbox" name="items" value="1" /><input type="checkbox" name="items" value="2" /><input type="checkbox" name="items" value="3" /><input type="checkbox" name="items" value="4" /><input type="checkbox" name="items" value="5" /><script src="lib/jquery-2.1.1.min.js" type="text/javascript"></script><script>$('#checkAll').click(function(){ if(this.checked){ $("[name=items]:checkbox").attr('checked',true); }else{ $("[name=items]:checkbox").attr('checked',false); }})</script></body></html>
但是这样勾选id为checkAll的checkbox时,会打印出 “checked” , 如果取消打勾 会打印出 "undefined" ;实验证明Jquery获取checked的值得打印出"true"是错误的 。
而且发现Jquery获取已经被勾上的checkbox,永远都是"checked" ;
解决办法:
1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase
<body><input id="checkAll" type="checkbox" value="全选/全不选" /><br /><input type="checkbox" name="items" value="1" /><input type="checkbox" name="items" value="2" /><input type="checkbox" name="items" value="3" /><input type="checkbox" name="items" value="4" /><input type="checkbox" name="items" value="5" /><script src="lib/jquery-2.1.1.min.js" type="text/javascript"></script><script>$('#checkAll').click(function(){ $("[name=items]:checkbox").prop('checked',this.checked); /*if(!this.checked){ $("[name=items]:checkbox").prop('checked',false); }else{ $("[name=items]:checkbox").prop('checked',true); }*/})</script></body>
2.还是用document.get获取吧:
<script> function getcheckbox(){ var test = document.getElementById("checkbox").checked; alert(test); }</script><input type="checkbox" name="checkbox" id="checkbox"><input type="button" id="button" value="Click Me" onclick="getcheckbox()">
如果使用jquery,应使用prop方法来获取和设置checked属性,不应使用attr.
0 0
- jquery中复选框checked属性
- 关于jQuery设置复选框checked的属性
- JQuery 循环遍历 , 复选框全选全消反选checked属性
- jquery:获取checked复选框的问题
- jQuery中attr()解决checked属性问题
- jQuery中checkbox的checked属性
- firefox中 checkbox属性checked="checked"已有,但复选框却不显示打钩的原因
- jQuery.attr("checked")不能判断复选框是否被选中
- jQuery 操作复选框(checkbox) attr checked不起作用
- jQuery 操作复选框(checkbox) attr checked不起作用
- jQuery 操作复选框(checkbox) attr checked不起作用
- 复选框全选 非全选 失效 jquery checked=true
- jquery设置checked及复选框 多个提交
- jQuery中attr()和prop()的区别,修改checked属性
- jquery添加属性checked无效
- jquery中复选框选中
- 用jquery获取复选框属性值
- jq给单/复选框添加checked属性无效的解决办法
- 欢迎使用CSDN-markdown编辑器
- 6. Laravel5学习笔记:IOC/DI的理解
- UILabel 设置不同颜色,不同字体
- makefile规则
- Download From FTP
- jquery中复选框checked属性
- 《Java课程实习》日志(周三)
- C++时间戳 字符串 时间格式
- 黑马程序员——Java基础--多线程(一)
- 4.MySQL程序概述
- 用Spring MVC和Freemarker实现导出PDF
- Solution to the problem of machine name becomes "bogon" in Mac
- iOStableviewcell系统自带删除注意事项
- Java导出数据到txt文件