簡體   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