复选框的checked属性的修改不会;工作不正常
The modification of the checked attribute of a checkbox doesn't work correctly
我有一个显示复选框的rails视图。当我点击复选框时,我的控制器中会调用一个rjs函数,它会根据复选框以前的状态来选中或取消选中该复选框。
视图中:
<%= check_box_tag 'checkbox_test' %>
<%= observe_field 'checkbox_test',
:url => { :action => :test_checkbox }
%>
在控制器中:
def test_checkbox
render :update do |page|
page << "
var checkBox = $('checkbox_test');
checkBox.checked = !checkBox.checked;
"
end
end
第一次单击复选框时,一切正常,调用函数,并更改选中的属性。问题出现后:如果我再次单击复选框,属性不会改变(但从视觉上看,复选框会改变…),因此不会调用函数"test_checkbox"。
我该如何解决这个问题?
根本不要使用该属性。只需使用checked
属性。这对几乎所有的属性和情况都是很好的建议。
var checkBox = $('checkbox_test');
checkBox.checked = !checkBox.checked;
在我看来,你需要$('checkbox_test')[0]。checked来测试检查性。
checked属性是本机DOM,而不是jQuery的一部分。
相关文章:
- Javascript.getHours()工作不正常
- removeClass函数没有'工作不正常
- jQuery Ajax GET请求工作不正常
- Cordova ng路线工作不正常
- 更新属性工作不正常Meteor/MongoDB
- 为什么文本对齐:对;工作不正常
- Javascript作用域和Ajax调用;工作不正常
- JavaScript DOM insertBefore'工作不正常
- Angular Js布线工作不正常
- onmouseout函数工作不正常
- 承诺工作不正常
- JQuery.live()工作不正常
- Alloy UI文本区域工作不正常
- ng src工作不正常,但src工作正常
- Canvas.toDataUrl(“image/png”)工作不正常
- JQuery `length`属性工作不正常.为什么?
- Javascript setInterval工作不正常
- 我的Javascript代码没有'工作不正常
- 表单验证工作不正常,在不检查条目的情况下继续
- $localStorage array select with ng选项工作不正常