使用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),但我真的不喜欢这个解决方案,因为如果它有多个元素,我应该遍历选择器的所有元素.
你必须使用.prop()
而不是.attr()
.因为.prop()
实际上是用于设置类似属性所做的checked
,selected
等等.
正确的方法是,
$el.prop('checked', logic_value)
Run Code Online (Sandbox Code Playgroud)
请阅读此处以了解情况.prop()