2017-10-17 54 views
-1

我正在嘗試調用jQuery函數,同時單擊保存按鈕。但點擊按鈕時我沒有收到任何迴應。無法在按鈕點擊時調用jQuery函數

<button type="button" id="save" class="btn btn-primary pull-right">Save Expense</button> 
$('#save').on('click', function() { 
    alert("test"); 
    var data = $('form').serialize(); 
    console.log("data" + data); 
    $.ajax({ 
    type: "POST", 
    url: "saveExpense", 
    data: data, 
    cache: false, 
    success: function(data) { 
     alert("Success"); 
    } 
    }); 
}); 
+0

'$( 「保存」)'查找所有''元件在文檔 – Pointy

+0

<按鈕類型= 「按鈕」 ID = 「保存」 類=「BTN BTN-主拉到右「>保存費用 – Yuvanath

+1

然後你想''(」#save「)' – Pointy

回答

0

創建一個像這樣的單擊事件,這將解決您的問題。

$(document).on('click','#save', function() { 
 
     alert("test"); 
 
     var data = $('form').serialize(); 
 
     console.log("data" + data); 
 
     $.ajax({ 
 
     type: "POST", 
 
     url: "saveExpense", 
 
     data: data, 
 
     cache: false, 
 
     success: function(data) { 
 
      alert("Success"); 
 
     } 
 
     }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button type="button" id="save" class="btn btn-primary pull-right">Save Expense</button>

+1

你怎麼知道有問題的元素是動態添加的?如果你認爲這是你需要添加一個解釋你的代碼爲什麼你這樣做。另外作爲一個附註,重要的是要提到'document'應該是最後一個選擇,因爲最好的靜態元素是首選,而不是出於性能原因。 - 無論哪種方式,這個問題似乎由OP在帖子的評論中解決,這與動態元素無關。 – Nope

+0

@弗朗代表團不只是爲了動態元素;它可以普遍使用。然而,我確實同意,解釋這裏的代碼以及它爲什麼會起作用將是一個好主意。 – Pointy