Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对复选框的checked属性的修改不会';我不能正常工作_Javascript_Ruby On Rails_Prototypejs_Rjs - Fatal编程技术网

Javascript 对复选框的checked属性的修改不会';我不能正常工作

Javascript 对复选框的checked属性的修改不会';我不能正常工作,javascript,ruby-on-rails,prototypejs,rjs,Javascript,Ruby On Rails,Prototypejs,Rjs,我有一个显示复选框的rails视图。当我点击复选框时,我的控制器中会调用一个rjs函数,它会根据其先前的状态选中或取消选中复选框 他认为: <%= check_box_tag 'checkbox_test' %> <%= observe_field 'checkbox_test', :url => { :action => :test_checkbox } %> {:action=>:test_checkbox} %> 在控制器中: def tes

我有一个显示复选框的rails视图。当我点击复选框时,我的控制器中会调用一个rjs函数,它会根据其先前的状态选中或取消选中复选框

他认为:

<%= check_box_tag 'checkbox_test' %>

<%= observe_field 'checkbox_test',
  :url => { :action => :test_checkbox }
%>

{:action=>:test_checkbox}
%>
在控制器中:

def test_checkbox
  render :update do |page|
    page << "
      var checkBox = $('checkbox_test');
      checkBox.checked = !checkBox.checked;
    "
  end
end
def test_复选框
渲染:更新do |页面|

page完全不要使用该属性。只需使用
checked
属性即可。对于几乎所有属性和情况,这都是一个很好的建议

var checkBox = $('checkbox_test');
checkBox.checked = !checkBox.checked;
在我看来,您需要$('checkbox_test')[0]。已选中以测试检查性


checked属性是本机DOM,而不是jQuery的一部分

看起来您已经编辑了问题,改为使用工作代码?怎么了?还是不行。我只是删除了代码中的一个复制错误。我尝试了使用
$('checkbox\u test')[0]。选中了
,行为与使用
$('checkbox\u test')相同。选中了