如何添加onchange事件以在rails中选择标记

Nav*_*ave 17 select ruby-on-rails onchange

如何在此处添加onchange事件?

框架:rails
数据库:MySQL

我正在填充数据库中的选项,这使我使用 options_from_collection_for_select

select_tag(:variable,options_from_collection_for_select(:all, :id, :name))
Run Code Online (Sandbox Code Playgroud)

Dan*_*uis 23

select_tagoptions哈希作为其最终参数,您可以在其中为select添加任何HTML属性.所以要添加一个onchange属性:

select_tag :variable, options_from_collection_for_select(:all, :id, :name), :onchange => 'your_onchange_handler()'
Run Code Online (Sandbox Code Playgroud)

  • DOM事件只能触发javascript事件处理程序。不过,您可以让事件处理程序对要执行的动作进行AJAX调用。 (2认同)

小智 7

尝试类似的东西:

:onchange => remote_function(:url => {:controller => 'controller', :action => 'action'})
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于Rails 3.0.9 http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/remote_function排除的原型帮助器 (2认同)

Ami*_*itF 6

对于select_tag,只需添加:

{:onchange => "myHandler();" }
Run Code Online (Sandbox Code Playgroud)

另外,如果onchange不起作用,则可能要尝试onChange使用大写字母C。

最后,确保不要将select_tag与表单select混淆。

看到我对类似问题的回答,仅与表单选择有关,而不与select_tag有关

将Onchange事件添加到窗体选择