2012-02-20 67 views
1

我試圖在集合選擇的值更改時提交遠程表單。我已經試過:Rails 3 Collection選擇onchange提交

"<%= 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在軌3.不再那麼我也試過:

{:onchange => "submit();" 

但沒有任何反應。

回答

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加載後運行此,例如。

+0

嗨,謝謝你的回答。 – 2012-03-06 19:32:12

0

在網上搜索後,我找到了一個更好的解決方案。希望它有幫助....

「/ admin/images」,:action =>「index」})do%> 「submit();」 %>
+2

請問您可以擴展這個答案,也許重新格式化代碼? – Dan 2012-05-15 15:07:26