对于页面中动态添加的元素,由于是在页面加载完成后添加的,因此页面加载时无法给其绑定事件处理函数,
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));
这样添加进去的元素也会被绑定上事件处理函数