JavaFree.org | RubyOnBr.org

ajax_function

Acompanhar ajax_function 7 posts, 4 participantes

440002948_b8dc8436b4 Marcelo Júnior 811 posts

Problema: Eu queria fazer uma lista, que quando eu excluísse uma linha desta lista, não recarregasse a pagina inteira, mas que apenas fosse removida a linha do item excluído.

Para isto, criei um helper, baseado no código do remote_function, onde eu posso executar uma action, sem recarregar uma pagina, e aproveitando o embalo, agreguei algumas funções de RJS.

Basta colar isto no seu application_helper:

Usando:

Vamo usar o exemplo da lista. Eu tenho uma tag table, onde todas as linhas (tr) tem um id:

Percebam na linha 5, onde eu usei o link_ajax, que eu passei um hask :remove=>”tr_#{cliente.id}”, basta este parâmetro para ele remover minha linha.

Mas como eu me empolguei com esta idéia, resolvi implementar também o insert_html e o replace_html, vide exemplo:

Os hashs inser_html e replace_html tem alguns parâmetros obrigatórios:


insert_html
:position = pode ser :top, :bottom, :before, :after;
:id = aqui você coloca a ID da tag onde será inserido o html;
:options = este parâmetro você deve passar um array, com as opções para renderização;

replace_html :id = aqui você coloca a ID da tag onde será atualizado o html; :options = este parâmetro você deve passar um array, com as opções para renderização;

Espero que tenham gostado.

 
Avatar João Victor 94 posts

Você já testou este código no IE?
Não fiz o teste com o seu código.
Porém uso algo parecido, usando um rjs com a função replace_html
Só que no IE da erro justo onde é usada esta função, e no firefox funciona perfeitamente.
=/

 
440002948_b8dc8436b4 Marcelo Júnior 811 posts

Cara, acabei de testar, e funcionou beleza no IE6.

 
Avatar Shairon Toledo 1428 posts

É isso ai Marcelo Júnior, já tá dando aula hen, parabéns.

 
Avatar João Victor 94 posts

Olá.
Marcelo, Pode me dizer qual versão esta usando do Rails e do Prototype?!
Pq não tive sucesso nisso.

Valeu

 
440002948_b8dc8436b4 Marcelo Júnior 811 posts

Opa.

Cara, está voltando algum erro? O que está acontecendo?

ps.: Estou usando o rails 1.2.3

 
Avatar Felipe Pavão 42 posts

estou enfrentando esse problema, quero fazer a mesma coisa que voce, mas soh ha essa maneira de fazer ?
[] s