[size=large]今天在修改easyui源码的时候碰到一个特别奇葩的问题,我们在easyui的combobox控件中添加了一个checkbox,当点击下拉框的一条记录的时候就选中checkbox,按以往的经验,用$("input[type='checkbox']").attr("checked","checked"),but,这次居然不好使了,在调试时看到html中该控件确实有checked属性。我就晕了,怎么会这样。然后去查jquery的帮助文档,发现了这个方法:prop()。
附上官方说明:
获取在匹配的元素集中的第一个元素的属性值。
随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误。
官方实例里给的也是处理checkbox的checked属性:
参数key,value 描述:
禁用和选中所有页面上的复选框。
jQuery 代码:
$("input[type='checkbox']").prop("disabled", false);
$("input[type='checkbox']").prop("checked", true);
试了一下,果然好使,应该是在修改checkbox属性的过程中出现了某种错误,但是浏览器又没有报错,深层原因暂时还没有研究,如果有高人的话希望能给说明下,在此谢过。[/size]
推荐阅读
- 针对 jQuery 的优化方法有哪些
- javascript|关于input的change事件触发多次发解决
- jquery Colorbox 传值
- Jquery 操作 Frame示例
- 代码记录|jquery获取select框的值、单选框的值、textarea的值、获取input框的值
- jQuery Infinite Ajax Scroll(ias) 分页插件介绍
- jQuery|jQuery 基础教程目录
- jquery.ui.droppable中文文档
- JS|Swiper插件的简单使用
- jquery|总结jQuery/js常用方法