`
datoplay
  • 浏览: 1614532 次
文章分类
社区版块
存档分类
最新评论

Jquery 获取checkbox的checked问题

 
阅读更多

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

事实证明一切,自己测试了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" 这让人费解,如果有人知道为什么,可以告诉我一下,哈~~

<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遍,自己测试证明一下

<script type="text/javascript"></script>

0
3
分享到:
评论
1 楼 soutnila 2011-11-16  
如果你使用的是jquery1.6以上的版本你应该使用prop()方法来进行判断:
$("#cb").prop("checked")

这个方法返回的是true or false

相关推荐

    jquery checkbox 选中 取消 checkbox多选

    jquery checkbox 选中 取消 checkbox多选

    浅析jquery与checkbox的checked属性的问题

    3、使用document.getElementById(“checkbox_id”).checked获取的值与是否钩上一至,即与所见即所得 4、使用$(“#checkbox_id”).attr(“checked”)获取的值与&lt;input type=”checkbox”&gt;&lt;/input&gt;里的ch

    jquery input checkbox 联动

    在jquery 下实显checked 联动 当input checkbox选中时自动判断上级下级并选中

    jquery attr方法获取input的checked属性问题

    问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性,获取的checked返回值为boolean,...

    jQuery实现checkbox全选的方法

    本文实例讲述了jQuery实现checkbox全选的方法。分享给大家供大家参考。具体分析如下: 通过checkbox 进行全选和取消全选的操作,如果通过toggle进行处理,则会出现checkbox无法显示对勾的问题。 使用click事件,根据...

    jquery实现checkbox全选、反选、全部选。精简写法

    jquery实现checkbox全选、反选、全部选,很不错的资源,欢迎大家下载学习var langType=""; var arLangType = []; $("[name='langType'][checked]").each(function(i) { arLangType[i]=$(this).val(); }); ...

    Jquery attr(checked) 返回checked或undefined 获取选中失效

    假设我们现在需要这样的场景:页面上有一个checkbox,我们期望通过Jquery来获得它是否选中,或者通过Jquery来让它被选中。 在JQ1.6之前的版本,我们会这样写我们的代码: 代码如下: &lt;input type=’checkbox’ id=...

    ie6、7无法获取checkbox选择状态的处理

    在ie6、ie7下,对于checkbox的勾选状态checked属性的值获取始终是null,利用jquery在获取的html中增加checked属性

    基于jQuery的checkbox全选问题分析

    本文实例分析了基于jQuery的checkbox全选问题。分享给大家供大家参考,具体如下: 最近开发项目时遇到一个很奇怪的问题,就是checkbox的全选与全不选 使用jQuery的框架。一直是使用 //检测选中的checkbox $('input...

    jquery遍历checkbox介绍

    checkbox 全选\全部取消$(“#ChkAll”).click...获取选中的checkbox的value值:var arrChk=$(“input[name=’chk_list’][checked]”); $(arrChk).each(function(){ window.alert&#40;this.value&#41;; }); });

    jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法

    主要介绍了jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法,通过使用prop方法代替attr方法来解决此问题,需要的朋友可以参考下

    jquery获取复选框checkbox的值实现方法

    jQuery API : each(callback)::以每一个匹配的元素作为上下文来执行一个函数。 :checked :匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option) js: //js获取复选框值 var obj = document....

    jquery判断checkbox是否选中及改变checkbox状态的实现方法

    jquery判断checked的三种方法: .attr(‘checked): //看版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false .prop(‘checked’): //16+:true/false .is(‘:checked’): //所有版本:true/false//别...

    jquery获取所有选中的checkbox实现代码

    获取所有name为spCodeId的checkbox var spCodesTemp = ""; $('input:checkbox[name=spCodeId]:checked').each(function(i){ ...以上这篇jquery获取所有选中的checkbox实现代码就是小编分享给大家的全部内容了,希

    jquery操作复选框checkbox的方法汇总

    本文实例汇总了jquery操作复选框checkbox的方法。分享给大家供大家参考。具体分析如下: jquery判断checked的三种方法: 代码如下:$(“input”).attr(“checked”); //版本1.6+返回:”checked”或”undefined” ,...

    jquery获取input表单值的代码

    jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关 获取一组radio被选中项的值 var item = $(‘input[name=items][checked]’).val(); 获取select被选中项的文本 var ...

    jQuery获取多种input值的简单实现方法

    获取input的checked值是否为true: 第一种: if($(“input[name=item][value=’val’]”).attr(‘checked’)==true) //判断是否已经打勾 –注:name即控件name属性,value即控件value属性 第二种: 可以不指定属性值...

Global site tag (gtag.js) - Google Analytics