如何添加onchange事件选择在轨标签
-
13-09-2019 - |
题
我如何在这里添加一个onchange事件?
框架:导轨,点击 数据库:MySQL的
我从数据库中填充的选项,这让我用options_from_collection_for_select
select_tag(:variable,options_from_collection_for_select(:all, :id, :name))
解决方案
select_tag
需要一个options
散列作为其最后一个参数,您可以在其中添加对选择的任何HTML属性。所以要加一个onchange
属性:
select_tag :variable, options_from_collection_for_select(:all, :id, :name), :onchange => 'your_onchange_handler()'
其他提示
你可以试试:
:onchange => remote_function(:url => {:controller => 'controller', :action => 'action'})
有关一个select_tag,只需添加:
{:onchange => "myHandler();" }
另外,如果平变化不工作,你可能想尝试用大写C onChange
。
最后,确保不要混淆一个select_tag与表单选择。
请参阅我的回答类似的问题,只有关于形式的选择,而不是select_tag
您可能需要添加一个onchange
属性直列:
select_tag(:variable,options_from_collection_for_select(:all, :id, :name)), {:onchange => "(function(e){ e.target.value }).apply(this,arguments)"}
有关我的情况,我不知道放在哪里命名的功能,有时我觉得乏味,只是创建一个函数来创建一个简单的标签。所以人们倾向于写一个内联函数。
但像{onchange: "e.target.value"}
简单的线将不工作,因为没有变量(例如event
)所定义。
解决方案将是一个自执行的函数,其接受参数
不隶属于 StackOverflow