Onclick删除表行jQuery

时间:2013-04-02 22:15:11

标签: jquery

我有一张桌子,无论我尝试什么,我都无法删除这些行。 它是一个简单的5列表和几行,使用Json从php / mysql查找生成。我最终想通过点击按钮删除mysql表中的行,但我仍然坚持在jquery中删除行的“简单”部分。

以下是创建我的表的代码:

var table = $('<table></table>').addClass('tbc');
for (var i = 0; i < json.admin_tables.length; i++) {
var row = $('<tr></tr>').addClass('guid').attr('id', i).add('<td>' + json.admin_tables[i].Room + '</td><td>' + json.admin_tables[i].time + '</td><td>' + json.admin_tables[i].Desk + '</td><td>' + i + '</td><td><input type="button" id="'+ i + '" class="delete" value="Delete row ' + i + '"</td>');
table.append(row);
$('#roomTable').append(table);
} 

以下代码完全没有做任何事情(在firebug中没有错误)

$('.delete').click(function() { 
    $(this).closest("tr").remove();
}

将“tr”更改为“td”将仅删除该按钮,我不想单独删除每个字段!

1 个答案:

答案 0 :(得分:2)

.delete元素是动态插入的,因此您需要委派的事件处理程序来定位它们:

$('#roomTable').on('click', '.delete', function() { 
    $(this).closest("tr").remove();
});