码迷,mamicode.com
首页 > Web开发 > 详细

jquery 获取 checkbox 的 checked 状态问题

时间:2018-02-11 21:28:22      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:check   表示   back   资料   define   def   方法   www   query   

这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠结。。。

事实证明一切,自己测试了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 的 checked 状态问题

标签:check   表示   back   资料   define   def   方法   www   query   

原文地址:https://www.cnblogs.com/ostrich-sunshine/p/8442585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!