Forum: Rails-ES Problemas con update

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.
E840f61fb1814fd454114aa1e1876b19?d=identicon&s=25 Juan Moreno (elgocho)
on 2007-04-27 15:25
Saludos a la comunidad, tengo un problema a la hora de acyualizar un
div, que es el siguiente; en mi vista tengo algo asi:

<%=check_box('usuario', 'opciones', 'name'=>'chk1','onclick'
=>remote_function(:update => "opcion",:url => { :action =>
'escojer'}))%></td>
<div id="opcion" style="position:absolute; width:800px; left:440px;
top:375px; height:115px"></div>

y en mi controller tengo algo asi:

def escojer
      render(:partial => "usuopcio",:nothing => true)
end

el cual me funciona todo, perfecto, la pregunta es como hago para que
cuando el usuario quita la opcion del check_box, se vuelva a actualizar
el div, pero sin nada, pues lo que hace en estos momentos, es que cuando
el usuario escoje en el check_box, aparece lo que yo quiero, pero cuando
lo quita se mantiene las opciones y yo quiero es que se vuelvan a
quitar.

Alguna ayuda gracias de antemano.....
8c01355770b98df67a28e5306c5b6502?d=identicon&s=25 Jaime Mora Ramones (moctan)
on 2007-04-27 19:11
Juan Moreno wrote:

> el cual me funciona todo, perfecto, la pregunta es como hago para que
> cuando el usuario quita la opcion del check_box, se vuelva a actualizar
> el div, pero sin nada, pues lo que hace en estos momentos, es que cuando
> el usuario escoje en el check_box, aparece lo que yo quiero, pero cuando
> lo quita se mantiene las opciones y yo quiero es que se vuelvan a
> quitar.

Realizé los siguientes cambios:
- Agregué :complete a remote_function.
- En el style de div agregué display:none
- Y en el cuerpo del div la llamada a toggle $('opcion').toggle();

Al final quedó de la siguiente manera :

# En la vista :

<head>
<%= javascript_include_tag "prototype" %>
</head>

<%=check_box('usuario', 'opciones', 'name'=>'chk1',
             'onclick' => remote_function(:update => "opcion",:url => {
:action => 'escojer'},
                                    :complete =>
"Element.toggle('opcion')"))%>

<div id="opcion" style="position:absolute; width:800px; left:440px;
top:375px; height:115px; display:none">$('opcion').toggle();</div>

# Probé con el partial _usuopcio.rhtml:

<p>
  Ruby On Rails
</p>

El controlador quedó cómo tu lo tienes.

Saludos.
---
Jaime Mora Ramones
8c01355770b98df67a28e5306c5b6502?d=identicon&s=25 Jaime Mora Ramones (moctan)
on 2007-04-27 19:21
Jaime Mora Ramones wrote:

> - Y en el cuerpo del div la llamada a toggle $('opcion').toggle();

Re-factorizando un poco, no es necesario la llamada de toggle en el
cuerpo del div, la última versión de div quedó así :

<div id="opcion" style="position:absolute; width:800px; left:440px;
top:375px; height:115px; display:none"></div>

Ya que es suficiente con la llamada a toggle desde :complete en
remote_function.

Saludos.
---
Jaime Mora Ramones
E840f61fb1814fd454114aa1e1876b19?d=identicon&s=25 Juan Moreno (elgocho)
on 2007-04-27 23:51
> <div id="opcion" style="position:absolute; width:800px; left:440px;
> top:375px; height:115px; display:none"></div>
>
> Ya que es suficiente con la llamada a toggle desde :complete en
> remote_function.
>
> Saludos.
> ---
> Jaime Mora Ramones

Gracias amigo por tu gran ayuda, ya funciona.....
This topic is locked and can not be replied to.