使用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_value
(http://jsbin.com/oyIQuJo/4/edit),但我真的不喜欢这个解决方案,因为如果它有多个元素,我应该遍历选择器的所有元素。< / p>
答案 0 :(得分:5)
您必须使用.prop()
代替.attr()
。因为.prop()
实际用于设置checked
,selected
等属性。
正确的方法是,
$el.prop('checked', logic_value)
请阅读here以了解.prop()