我有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();
});
但它只能运作一次。
然后,我添加了之前的rails选项
:before => '$("#relationship_save").show();'
它再次只能运作一次。
我甚至在jquery上尝试了.on
jQuery("#relationships_form_1").on("ajax:beforeSend", function() {
$("#relationship_save").show();
});
它仍然只能运作一次。
每次发送表单,每次都存储该值,之前只有一次
有什么想法吗?
答案 0 :(得分:8)
jQuery(document).on("ajax:beforeSend", "#relationships_form_1", function() {
$("#relationship_save").show();
});
因为您的ajax加载表单与初始表单不同。