2009-07-24 7 views
0

Je souhaite supprimer une ligne d'un tableau HTML généré par du code Rails et j'aimerais que les autres lignes soient placées dans la nouvelle position.Problèmes pour que l'effet AJAX fonctionne avec RubyOnRails

Je suis un peu nouveau à ce sujet et je suis sûr que j'ai probablement fait une erreur simple.

Voici le code partiel pour générer la ligne de table:

<tr id="ride_<%=h ride.id %>"> 
    <td><%=h ride.name %></td> 
    <td><%=h ride.land %></td> 
    <td align="right"><%=h ride.height_restriction %></td> 
    <td><%= link_to_remote 'remove', :url => { :action => :destroy, :ride_id => ride.id }, :html => {:onclick => "Effect.SlideUp('ride_" + ride.id.to_s + "')"} %></td> 
</tr> 

Et voici le code HTML généré à partir de cette partie:

<tr id="ride_130"> 
    <td>thrill ride</td> 
    <td>fun land</td> 
    <td align="right">40</td> 
    <td><a href="#" onclick="Effect.SlideUp('ride_130'); new Ajax.Request('/SimpleRailsApp/rides/destroy?ride_id=130', {asynchronous:true, evalScripts:true, parameters:'authenticity_token=' + encodeURIComponent('9f2334b84d2da7eddfbfaadf8138c0a1c8feca47')}); return false;">remove</a></td> 
</tr> 

Maintenant, la ligne supprime bien, mais je n » t obtenir l'effet AJAX cool. C'est juste une sorte de "snaps". Jusqu'ici, "Puff" est le seul effet que j'ai pu faire fonctionner.

Toute aide ou conseil serait apprécié.

MISE À JOUR

pourrait-il que cet effet ne fonctionne pas à l'intérieur d'un élément de table? J'ai essayé presque le code exact sur une liste non ordonnée et cela semble fonctionner correctement.

J'ai aussi trouvé ce other question qui dit que les animations ne fonctionnent pas sur les tables de jQuery non plus, donc je n'ai peut-être pas de chance ici.

Répondre

0

J'ai trouvé this other Stack Overflow answer to a question qui dit animations ne fonctionnent pas sur les tables jQuery non plus, donc je suis probablement pas de chance ici.

+0

c'est un mensonge, je les ai eu à travailler sur un TR avant – marcgg

+0

et rails 2.x utilise le prototype, pas jquery – marcgg

+0

Je sais que ce n'est pas jquery, mais je pensais que l'explication de pourquoi il ne fonctionne pas dans JQuery pourrait également Explique pourquoi ça ne marche pas pour moi. Si vous pouviez partager un exemple de travail pour savoir comment vous l'avez fait fonctionner pour votre table, j'apprécierais. – Vinnie

0

Depuis l'animation est « serpentine », vous voudrez peut-être essayer d'ajouter une option de durée: Effect.SlideUp('id_of_element', { duration: 3.0 });

+0

Je l'ai essayé et ça ne marche toujours pas. Voici le code HTML qui a été généré ... remove Vinnie

0

Avez-vous inclus les bibliothèques par défaut JS?

<%= javascript_include_tag :defaults %> 
+0

oui, en fait j'ai <% = javascript_include_tag: tous%> – Vinnie

+0

bizarre ... eh bien je réussi allready à faire un slideUp sur un TR il est donc possible. – marcgg

Questions connexes