我正在尝试在Collection Select的值更改时提交远程表单。我试过了:
"<%= form_tag ( { :controller => :images, :action => :index, :method => "post" }) do %>"
"<%= collection_select(:admin_image, :category_id, Admin::Category.all, :id, :name, {:onchange => remote_function(:url => {:controller => "/admin/admin_home", :action => "index"}, :with => "'category_id='+value")}) %>"
"<% end %>"
但是我知道remote_function已经不在rails 3.所以我也试过了:
{:onchange => "submit();"
但没有任何反应。
答案 0 :(得分:2)
你需要使用Javacsript。如果您使用的是jQuery,那很简单。您需要收听“更改”事件并在其触发时提交表单。我使用这个泛型函数,然后使用“submit_on_change”类标记我想要在更改时自动提交的表单:
$("form.submit_on_change").each(function(idx,form){
$(form).find("select,input").each(function(idx,element){
$(element).change(function(){
$(form).submit();
return false;
});
});
});
确保在dom加载后运行此文件,例如在文档就绪时。
答案 1 :(得分:0)
在网上搜索后,我找到了更好的解决方案。希望它有所帮助......
“/ admin / images”,:action =&gt; “index”})do%&gt; “提交();” %GT;