繁体   English   中英

Rails 3,具有远程选项的link_to-JavaScript仅在首次点击时有效

[英]Rails 3, link_to with remote option - JavaScript is only working for the first click

我有一个图库图库,每个元素都有一个“ #thumbnail”类,每个缩略图下面都有一个“ delete”链接。

以下代码的问题在于,JavaScript“ ajax:success”代码仅在第一次单击时运行,即,它会调用警报对话框,每次我随后单击另一个“删除”链接时,ajax都会触发并且控制器中的操作会执行我所期望的,但是警告对话框永远不会再次显示-除非我刷新整个页面,然后当然它只会在第一次时起作用。

谁能看到出什么问题了? 我在这里寻找答案,但老实说有点迷路。

link_to(查看):

<%= link_to("Delete", "/graphics/0?url=#{image_url}", :method => "delete", :remote => true, :id => "delete-graphic") %>

控制器动作:

  def destroy
    render :json => {"result" => "ok"}
  end

JS:

  $(document).ready(function() { 
    $('#delete-graphic').bind('ajax:success', function() {
      alert("delete");
    });
  });

DOM ID是唯一的。 您应该绑定到一个类而不是一个ID,这将使您的jQuery方法可以在每个调用上工作,而不仅仅是在第一个调用上工作。

更改您的link_to调用以使用一个类:

<%= link_to("Delete", "/graphics/0?url=#{image_url}", :method => "delete", :remote => true, :class => "delete-graphic") %>

更改您的jQuery以绑定到该类:

$(document).ready(function() { 
  $('.delete-graphic').bind('ajax:success', function() {
    alert("delete");
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM