4

我有 3 个文件:

index.html.erb 是我的主页

在索引中,我渲染了一个部分 _relationship.html.erb,并且有一个带有以下行的表单:

<%= form_tag('/relationships/update/', :remote => true, :id => "relationships_form_#{@count}") do %>

我也有 index.js.erb(relationship.html 在 index.html.erb 中)

jQuery("#relationships_form_1").bind("ajax:success", function() {
  $("#box_relationships").hide().html("<%=escape_javascript(render('relationships/relationships'))%>").fadeIn(2000, 'swing');
  })

每次发送表单,并更改值。

我想使用 beforeSend 选项显示加载 gif。

我试过(在 index.html.erb 上。如果我把它放在 _relationships 部分,它根本不起作用):

jQuery("#relationships_form_1").bing("ajax:beforeSend", function() {
$("#relationship_save").show();
});  

但它只工作一次。

然后,我添加了 before rails 选项

:before => '$("#relationship_save").show();'

它再次起作用,只有一次。

我什至在 jquery 上尝试了 .on

    jQuery("#relationships_form_1").on("ajax:beforeSend", function() {
$("#relationship_save").show();
});

它仍然只工作一次。

每次发送表单,每次存储值,之前发送只工作一次

有什么想法吗?

4

1 回答 1

10
jQuery(document).on("ajax:beforeSend", "#relationships_form_1", function() {
  $("#relationship_save").show();
});

因为您的 ajax 加载表单与初始表单不同。

于 2012-04-07T15:00:03.273 回答