2013-10-08 110 views
27

看起來像一個簡單的問題,但其他問題的解決方案似乎並不適用於我。Jquery按鈕點擊事件沒有觸發

試圖從按鈕點擊觸發AJAX請求,但它似乎並沒有被解僱。

例如HTML

<button class="remove_weight_button" id="15">x</button> 

的JavaScript

$(".remove_weight_button").click(function(){ 
    var button_id = $(this).attr("id"); 
    $.ajax({ 
     type: "POST", 
     url: "weight_tracker_process.php", 
     data: { 
      weight_id: button_id, 
      action: "remove" 
     }, 
     success: function(){ 
      getWeightData(); 
     }, 
     error: function(){ 
      alert("data removal error"); 
     } 
    }); 
    return false; 
}); 
+0

首先第一件事情,你看到的任何錯誤控制檯?有沒有到達處理程序(如果不是它是裹的document.ready) ,你是否在控制檯中看到任何js錯誤或網絡錯誤? – PSL

+1

你確定javascript正在運行_after_按鈕被加載?這是一個常見的錯誤。 –

+0

嘗試在功能 –

回答

76

你有小提琴精品工程的代碼。在初始頁面加載後,您的按鈕是否通過AJAX動態呈現?

使用

$(document).on("click", ".remove_weight_button", function(){ 

,而不是

$(".remove_weight_button").click(function(){ 
+3

+1的頂部添加防止默認設置,但我不知道'$(document).on'。新的詭計! –

+3

啊當然,你說得對,它正在被ajax加載。上述如何解決這個問題? – GrepGrep

+7

@ user2803072您正在使用的「.click」事件僅查找在初始頁面加載期間繪製的元素。 「on」事件尋找頁面當前狀態中的元素 –