Forum: Rails-ES Ajax y control select

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
8c01355770b98df67a28e5306c5b6502?d=identicon&s=25 Jaime Mora Ramones (moctan)
on 2007-02-09 02:27
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 Ramones
E91518f050cb6081186ff461950099e0?d=identicon&s=25 Luis Villegas (Guest)
on 2007-02-09 08:18
(Received via mailing list)
Mira el helpers observe_field en la documentación de rails
8c01355770b98df67a28e5306c5b6502?d=identicon&s=25 Jaime Mora Ramones (moctan)
on 2007-02-11 03:01
Luis Villegas 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" %>

<div id="grid">
</div>

En la vista refresh_form.rhtml :

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


Gracias ... saludos
---
Jaime Mora Ramones
This topic is locked and can not be replied to.