jquery-1.10.2 获取checkbox的checked属性总是undefined

项目中用的jquery-1.10.2 需要检测一个checkbox的选中状态,想当然的用 .attr("checked") ,结果发现,无论是否选中,这个值都是 undefined 未定义。

查找资料,特此记录:

jq官网说明:

As of jQuery 1.6, the .attr() method returns undefined for attributes that have not been set. In addition, .attr() should not be used on plain objects, arrays, the window, or the document. To retrieve and change DOM properties, use the .prop()method.

.attr() 不能用于普通对象,数组,窗口,文档等,要重新获取改变dom属性,用.prop()方法。

用.prop方法确实可行。

贴一段代码如下:

[html] view plaincopy

  1. $(‘#regSubmit‘).click(function(){
  2. var val = $("#reg-checkbox").prop("checked");
  3. console.log(val);
  4. if(val =="checked" ||val==true){
  5. var useremail = $("#reg-email").val();
  6. var password = $("#reg-password").val();
  7. var psdHash = HASH.md5(password);
  8. AUTH.fnReg(useremail,psdHash,function(json){
  9. $("#login-email").attr("value",useremail);
  10. });
  11. }
  12. else{
  13. alert("亲,请阅读并同意 《中科甲骨云服务条款》!");
  14. }
  15. });
时间: 2024-10-13 19:45:10

jquery-1.10.2 获取checkbox的checked属性总是undefined的相关文章

jquery1.6+ 获取checkbox的checked属性总是undefined

项目中用的jquery1.10 今天需要检测一个checkbox的选中状态,想当然的用 .attr("checked") ,结果发现,无论是否选中,这个值都是 undefined 未定义. 原因:在jquery1.6版本便对此做出了修改: [checked属性在页面初始化的时候已经初始化好了,不会随着状态的改变而改变. 也就是说如果checkbox在页面加载完毕是选中的,那么返回的永远都是checked(我的一开始就是没选中) 如果一开始没被选中,则返回的永远是undefined !]

Input类型是checkbox时checked属性获取

记录一下checkbox 的 checked 属性的获取办法,以备忘记: 假如你的一个HTML页中有这么一段代码: <input name="chbRem" id="chbRem" type="checkbox" checked="checked"> 那么如何通过JQuery获得chbRem的checked状态呢: 错误的写法如下: alert(  $("#chbRem").attr("

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

问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase <input type="checkbox" id="selectAll" onclick="checkAll()">全选 function checkAll

jquery 设置checkbox的checked属性 总是出问题

所使用的jquery版本为jquery-1.9.1,浏览器为Chrome 1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase <input type="checkbox" id="selectAll" onclick="checkAll()">全选 function checkAll() {   var checkedOfAll=$("#selectAll

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

问题:经常使用jQuery插件的attr方法获取checked属性值,获取的值的大小为未定义,此时可以用prop方法获取其真实值,下面介绍这两种方法的区别: 1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase . 代码如下: <input type="checkbox" id="selectAll" onclick="checkAll()">全选 function

点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件, jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态

给tr添加点击事件,使用find方法查找tr下的所有层级的元素,children只查找下一层级的元素,所以使用find.find的返回值为jquery对象,在这个项目中不知道为什么使用jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态,所以我就把jquery对象转换为DOM对象,怎么转呢?jquery对象[0]或者get(0)就转换成DOM对象,然后直接.checked返回true或false就可以判断checkbox是否选中了.然后判断状

jQuery 操作复选框(checkbox) attr checked不起作用

jQuery 更改checkbox的状态,无效 $(this).attr("checked", false).checkboxradio("refresh");     //应该这么写吧,少了$这个东东~~~跟js混淆了 jQuery 操作复选框(checkbox) attr checked不起作用 这 天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 attr(‘checked’,'checked’);与attr(‘checked’,t

jquery 获取 checkbox 的 checked 状态问题

这个郁闷了,今天写这个功能的时候发现了问题,上网找了好多资料对照,更加纠结... 事实证明一切,自己测试了N遍,发现网上的说法和自己以前的理解都是错的,不知道大家有没发现. 下面来看看网上大多资料的说法 转别人的一些东西: jquery判断checkbox是否被选中 在 html 的 checkbox 里,选中的话会有属性 checked="checked". 如果用一个 checkbox 被选中,alert 这个 checkbox 的属性 "checked" 的值

jquery与checkbox的checked属性的问题

1.页面加载成功后,点击选中或取消选中该checkbox,checkbox属性里的checked属性不会根据该checkbox是否选中而变化 2.checkbox里的onchange或onclick方法里用jquery的attr方法获取checked是看得到的checked属性的值与它是否给钩上没有关系 3.使用document.getElementById("checkbox_id").checked获取的值与是否钩上一至,即与所见即所得 4.使用$("#checkbox_