js checkbox选中状态

jquery获取checkbox的选中状态

$(‘#checkboxID‘).attr(‘checked‘);

发现,以上代码,无论input checkbox是选中还是未选中状态,无论IE还是Chrome,返回结果都是undefinded;

查阅发现:jquery1.6版本对此作了修改,checked属性在页面初始化的时候就已经初始化好了,不会随着状态改变而变。也就是说checkbox在页面加载完毕是选中状态,则永远返回checked,如果一开始没被选中,则永远返回undefinded。

在Jquery 1.6及之后,新加了一个方法prop(),通过attr方法去获得属性,通过prop方法去获得特性。在遇到要获取或设置checked,selected,readonly和disabled等属性时,用prop方法。

官方解释prop():获取在匹配的元素集中的第一个元素的属性值。

大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是undefined。

jq提供新的方法“prop”来获取这些属性,就是来解决这个问题的,以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。

那么,什么时候使用attr(),什么时候使用prop()?

1.添加属性名称该属性就会生效应该使用prop();

2.是有true,false两个属性使用prop();

3.其他则使用attr();

以下是官方建议attr(),prop()的使用:


Attribute/Property


.attr()


.prop()


accesskey



align



async




autofocus




checked




class



contenteditable



draggable



href



id



label



location ( i.e. window.location )




multiple




readOnly




rel



selected




src



tabindex



title



type



width ( if needed over .width() )


时间: 2024-08-05 13:42:35

js checkbox选中状态的相关文章

jquery版本间兼容性:checkbox选中状态

最近在学习Jquery,发现attr不太好用,从网上搜了下终于知道其原因,记下备查. 以下为以为网友在js贴吧的内容: 以<input type="checkbox" id="all"/>为例子取值的例子$("#all").attr("checked")在1.6前(含1.6),返回值是boolean类型的true或false:在1.6后,返回值是"checked"或undefined. 再来看赋

使用jquery/javascript判断及改变checkbox选中状态

一.使用jquery判断及改变checkbox选中状态 1.使用JQuery判断一个checkbox 是否为选中: (1).attr('checked) 看JQuery版本1.6+返回:"checked"或"undefined" ;1.5-返回:true或false (2).prop('checked') 1.6+:true/false (3).is(':checked') eg:$("input[type='checkbox']").is(':

checkbox 选中状态与显示状态的研究

今天下午做一个小学网站,里面有个自定义选择记住密码 思路是,隐藏默认的checkbox,自定义了一个元素,通过click改变class来模拟,但是调试的时候发现,当默认checkbox位选中状态的时候,ckecked属性有可能为false,我把事件注释掉,发现没有事件的情况下,点击自定义的单选框,默认的单选框也可以被选中.也就是说,在label标签内不需要添加click事件来帮助改变checkbox的属性,但是奇怪的一幕发生了, 当我查看checkbox的选中状态的时候,发现checkbox的c

jQuery控制checkbox选中状态但是不显示选中

问题描述:使用jQuery来控制checkbox的选中状态,但是第一次点击出现选中样式,之后点击可以看到checked的属性增加成功但是并没有选 中状态. 问题代码: function chooseAllOrNot(id){ var choose=$("input[name='"+id+"']").attr('checked'); if(choose=='checked'){ $("input[type=checkbox][name='"+id+

Android实例-手机安全卫士(三十六)-根据Service是否开启确定CheckBox选中状态

一.目标 1.根据service是否在后台运行情况来确定CheckBox的选中状态: 2.解决"设置中心"的“开启来电号码显示归属地”功能在退出程序再进入时选中状态消失,在任务管理器中关闭“来显”服务时,功能仍为选中状态 二.代码实现 1.在src文件下新建一个包(取名com.example.mobilesafe.utils)用于存放各种工具类: 2.在工具类包下新建类(取名ServiceUtils,无需继承任何类),用于校验某个服务是否在正常运行(开启):在新建类(ServiceUt

JQuery获取指定元素中的checkbox选中状态的一些属性

项目中用户上传病例数据,每一次上传自动生成一个病例文件夹,数据保存到后台,前端显示文件夹,现在的需求是勾选想要删除的文件夹的chenckbox,点击删除后,数据库和前端都相应的更新. 如果是静态页面,直接根据id或者class定位到checkbox,然后判断状态,直接remove即可.但是动态页面,需要与后台交互同步,前端相应的文件夹删除,后台数据库也要删除文件夹内的数据,每一个病例文件夹对应数据库的一个recordId,那么问题是,如何知道当前checkbox选中的文件夹对应的病例id(文件夹

html中radio、checkbox选中状态研究

1.对radio .checkbox 来说说,checked属性可以保证页面初始化被选中,但是通过js或者jquery 控制checked属性并不能保证相应的被选中,同样也不能通过checked属性来判断该元素是否被选中. 2.checked属性并不能影响form表单的值,表单页面真正被选中的元素才是form表单提交的值. 3.通jquery的prop方法可以完美的选中或者取消选中元素,使用prop("checked",true) 选中,prop("checked"

checkbox选中状态不被改变

让它的状态只能看不能改变,加上onclick="return false;". 也可以disabled="true";但是这个颜色变淡了; <input type="checkbox" onclick="return false;" <s:if test="%{isGoodDoc != null}"> checked="checked" </s:if>/&g

获取不到Repeater控件中的CheckBox选中状态

写在前面的话:在做一个项目的时候,需要使用到Repeater控件,并且在Repeater控件内放置了CheckBox控件来标志需要删除的行,选中后,在后台取到的CheckBox的值总是为false.最后发现是在PageLoad函数中没有判断是否是回发就绑定了Repeater控件的数据,那么每次进入页面CheckBox控件的值当然被刷新为false了. 前台页面: 1 <div class="contianer p10"> 2 <h3> 3 当前位置:<a