欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Jquery 获取checkbox的checked问题

程序员文章站 2022-08-04 17:36:28
代码如下: 转别人的一些东西: jquery判断checkbox是否被选中 在html的checkbox里,选中的话会有属性checked="checked"。 如果用一个che...

代码如下:

转别人的一些东西:
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" 这让人费解,如果有人知道为什么,可以告诉我一下,哈~~

代码如下:


<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"
如果有错,希望指正。