jquery 获取 checkbox 的 checked 状态问题
2018-02-11 19:54
447 查看
这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠结。。。
事实证明一切,自己测试了N遍,发现网上的说法和自己以前的理解都是错的,不知道大家有没发现.
下面来看看网上大多资料的说法
转别人的一些东西:
jquery判断checkbox是否被选中
在 html 的 checkbox 里,选中的话会有属性 checked="checked"。
如果用一个 checkbox 被选中,alert 这个 checkbox 的属性 "checked" 的值alert($(#xxx).attr("checked")),会打印出"true",而不是"checked"!
如果没被选中,打印出的是"undefined"。
注意红色的部分,这里说到
经过测试,证明上面说法有问题
实验证明 Jquery 获取 checked 的值得打印出 "true" 是错误的
举一反三:
而且发现 Jquery 获取已经被勾上的 checkbox,永远都是"checked" 这让人费解(原因:Jquery版本的问题, jquery.1.6之后的版本,就出现这样的问题)~~
解决方法: 还是用 document.get 获取吧:
如果有错,希望指正。网上搜索的问题都是一个帖子转N遍,自己测试证明一下
转载:http://www.cnblogs.com/-run/archive/2011/11/16/2251250.html
事实证明一切,自己测试了N遍,发现网上的说法和自己以前的理解都是错的,不知道大家有没发现.
下面来看看网上大多资料的说法
转别人的一些东西:
jquery判断checkbox是否被选中
在 html 的 checkbox 里,选中的话会有属性 checked="checked"。
如果用一个 checkbox 被选中,alert 这个 checkbox 的属性 "checked" 的值alert($(#xxx).attr("checked")),会打印出"true",而不是"checked"!
如果没被选中,打印出的是"undefined"。
注意红色的部分,这里说到
$("#chekbox").sttr("checked"); //should be print "true" , not "checked"
经过测试,证明上面说法有问题
<script type="text/javascript"> $(function() { $("#button").click(function() { alert($("#checkbox").attr("checked")); }); }); </script> <input type="checkbox" name="checkbox" id="checkbox"><input type="button" id="button" value="Click Me">
//上面得出的结果是: 如果勾上checkbox,会打印出 “checked” , 如果取消打勾 会打印出 "undefined"
实验证明 Jquery 获取 checked 的值得打印出 "true" 是错误的
举一反三:
而且发现 Jquery 获取已经被勾上的 checkbox,永远都是"checked" 这让人费解(原因:Jquery版本的问题, jquery.1.6之后的版本,就出现这样的问题)~~
<script type="text/javascript"> $(function() { $("#button").click(function() { alert($("#checkbox").attr("checked")); }); }); </script> <input type="checkbox" name="checkbox" id="checkbox" checked><input type="button" id="button" value="Click Me">
//注意红色位置,如果默认checkbox为checked状态,测试会发现,把勾去掉也是只会输出"checked" , 表示不理解为什么 Jquery会这样
解决方法: 还是用 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()">
//选中为"true",取消选中为"false"
如果有错,希望指正。网上搜索的问题都是一个帖子转N遍,自己测试证明一下
转载:http://www.cnblogs.com/-run/archive/2011/11/16/2251250.html
相关文章推荐
- jQuery获取checkbox状态时attr('checked')返回undefined的问题
- Jquery 获取checkbox的checked问题
- Jquery 获取checkbox的checked问题
- Jquery 获取checkbox的checked问题
- jquery获取CheckBox的checked属性值问题
- jQuery中获取CheckBox的checked属性值的问题
- Jquery 获取checkbox的checked问题
- Jquery 获取checkbox的checked问题以及解决方案
- Jquery 获取checkbox的checked问题
- Jquery 获取checkbox的checked问题以及解决方案
- jquery中CheckBox的checked状态用attr()的问题
- Jquery 获取checkbox的checked问题
- Jquery 获取checkbox的checked问题
- 点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件, jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态
- jquery 获取不到checkbox checked时
- jquery设置checkbox为checked状态不改变的解决办法
- JQuery获取checkbox的选中状态
- IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
- jquery 1.6+ 获取checkbox的checked属性总是checked