2012-02-20 2 views
1

Я пытаюсь отправить удаленную форму, когда изменяется значение Collection Select. Я пробовал: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, это просто. Вы захотите прослушать событие «change» и отправить форму, когда она срабатывает. Я использую эту обобщенную функцию, а затем теги формы, которые я хочу автоматически подавать на изменения с классом «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; 
    }); 
    }); 
}); 

Убедитесь, что вы запускаете это после Dóm нагрузок, например, на документ готов.

+0

Привет, Спасибо за ответ. –

0

После поиска в Интернете я нашел лучшее решение. Надеюсь, это поможет ...

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

не могли бы вы расширить этот ответ и, возможно, переформатировать код? – Dan

Смежные вопросы