jquery attr('checked',false)错误

时间:2013-12-10 17:37:14

标签: javascript jquery

使用jquery 版本1.8 我可以通过$el.attr('checked', logic_value)选中并取消选中复选框:

http://jsbin.com/oyIQuJo/1/edit

使用jquery 版本1.10.1 (或 2.0.2 )它只更改一次以检查然后取消选中,我无法再次设置它:

http://jsbin.com/oyIQuJo/2/edit

http://jsbin.com/oyIQuJo/3/edit

这是一个已知的行为/错误吗?最好的方法是什么,这样我可以多次检查/取消选中它?

我可以做$el[0].checked = logic_valuehttp://jsbin.com/oyIQuJo/4/edit),但我真的不喜欢这个解决方案,因为如果它有多个元素,我应该遍历选择器的所有元素。< / p>

1 个答案:

答案 0 :(得分:5)

您必须使用.prop()代替.attr()。因为.prop()实际用于设置checkedselected等属性。

正确的方法是,

$el.prop('checked', logic_value)

请阅读here以了解.prop()