Ajax y control select


#1

Hola,

Cómo ejecutar una acción del controlador cuando el usuario cambia el
valor de un control select mediante el teclado ó el mouse ?

De antemano gracias por la ayuda.

Jaime Mora R.


#2

Mira el helpers observe_field en la documentación de rails


#3

Luis V. wrote:

Mira el helpers observe_field en la documentación de rails

Luis te agradezco tu respuesta. Después de tener una batalla con
observe_field al final funcionó :

En el controlador :

class ChequesImprimirController < ApplicationController

def index
@list_options = [“Cheques de todas las cuentas”,
“Cheques de la cuenta …”,
“Ver cancelados”]
session[:option] ||= “Cheques de todas las cuentas”
@obj = create_object
@obj.value = session[:option]
end

def refresh_form
session[:option] = params[:option]
@obj = create_object
@obj.value = params[:option]
render(:layout => false)
end

def create_object
my_struct = Struct.new(:value)
my_struct.new
end

end

En la vista index.rhtml :

<%
=begin %>

Ejemplo: observe_field

<%
=end %>

<%=
select_tag :option, options_for_select(@list_options, @obj.value)
%>

<%= observe_field :option, :url => {:action => :refresh_form}, :update
=> “grid”, :with=>“option” %>

En la vista refresh_form.rhtml :

<%= h(@obj.value) %>

Gracias … saludos

Jaime Mora R.