對於頁面中動態添加的元素,由於是在頁面加載完成后添加的,因此頁面加載時無法給其綁定事件處理函數,
csdn上的一篇文章讓我明白了如何做到動態綁定
http://blog.csdn.net/xinhaozheng/article/details/5862109
$(".RemoveLink").live("click",function () {
// Get the id from the link
var recordToDelete = $(this).attr("data-id");
alert("即將刪除" + recordToDelete);
if (recordToDelete != '') {
// Perform the ajax post
$.post("/BS_Parameter/Delete", { "id": recordToDelete },
function (data) {
$("#tb_row_" + data.returnID).fadeOut("slow");
$("#AddedParamet").append("<p>刪除成功" + data.returnID + "</p>");
});
}
});
使用live便可輕松做到,如:
function CreateTR(data) {
var myTR = "<tr id='tb_row_"+data.returnID+"'><td>" + data.name + "</td><td>" + data.description + "</td><td><a href='#' class='RemoveLink' data-id='" + data.returnID + "'>刪除</a></td>";
return myTR;
}
$("#RequestParameters").append(CreateRequestTR(data));
這樣添加進去的元素也會被綁定上事件處理函數