我有一个显示复选框的 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”。
我怎么解决这个问题?