我在表上有一个删除按钮,在单击事件监听器上有一个 jquery 按钮。这是代码
$(".delbtn").click(function () {
var count = 0;
var $row = jQuery(this).closest('tr');
var $columns = $row.find('td');
var values = "";
jQuery.each($columns, function(i, item) {
if( count == 0 ){delFund = item.innerHTML}
if( count == 1) {delOrg = item.innerHTML}
if( count == 2) {stat = item.innerHTML }
count++
});
//the below lines of codes would display how to show values on a browser like
// firefox or chrome.
//console.log(delFund, delOrg);
$(this).closest("tr").fadeTo(500, 0, function () {
$(this).remove();
});
//update the item on the database table for deletion.
$.ajax({type: "POST",
url: "dbfunctions.jsp",
data: {TYPE:'D', fundval: delFund, orgval: delOrg, tuidval:tuid, status:stat }}).done(function( msg )
{
//alert(msg);
});
});
这一切都很好,我的问题是我查询了一个数据库,然后我用这个数据更新了 html 表,并在表的最后一行添加了一个新按钮。但是,当我单击它时,该按钮没有响应。我相信是因为没有附加事件侦听器。所以我的问题是如何更新按钮,以便我已经添加到所有先前按钮的事件侦听器也附加到新的动态生成按钮?
这是我如何将项目添加到表格末尾的代码片段。
$("#thisTable > tbody").append(
"<tr><td>"+thisfund.value+"</td>"+
"<td>"+thisorg.value+"</td>"+
"<td>"+'PENDING ACCESS'+"</td>" +
"<td>"+"<a class='delbtn' href='#'>X</a>"+"</td></tr>");
thisfund.value = "";// set the input boxes back to null
thisorg.value = "";
});