0

在用户单击链接后,我试图完成两件事:

  1. 删除一个 div
  2. 在页面底部添加另一个元素

我使用 Rails link_to_remote 玩过,下面的代码是在删除 div之前添加了元素:

<%= link_to_remote "&#x2713;",
  :url => {
    :controller => :movies,
    :action => :mark_as_seen,
    :movie => movie,
    :render => 'movie' },
  :success => "Effect.Fade('movie_#{movie.id}_wrapper', { duration: 0.4 })",
  :update => "movies", :position => "bottom",
  :failure => "alert('Ooops! An error occurred.')"
%>

我试图将:updateand:position放入:complete回调中,但什么也没发生。当我将它们都放在:success回调中时(在 之后Effect.Fade),我得到的只是一个解析错误。

任何的想法?

谢谢,

凯文

4

1 回答 1

2

我不完全确定我是否理解正确,但我猜您希望在 :update 操作发生之前删除 div。

像往常一样,这非常简单:)

<%= link_to_remote "&#x2713;",
  :url => {
    :controller => :movies,
    :action => :mark_as_seen,
    :movie => movie,
    :render => 'movie' },
  :before => "Effect.Fade('movie_#{movie.id}_wrapper', { duration: 0.4 })",
  :update => "movies", :position => "bottom",
  :failure => "alert('Ooops! An error occurred.')"
%>

所以只需替换:successwith:before将首先做到这一点。希望这能满足您的要求:)

解释很简单::success一旦完成动作成功结束,动作就会执行,更新也是如此。该:before操作在执行远程操作之前执行。例如,我一直使用它来在远程操作期间显示微调器。

于 2010-05-08T19:23:11.453 回答