我有一张桌子,无论我尝试什么,我都无法删除这些行。 它是一个简单的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”将仅删除该按钮,我不想单独删除每个字段!
答案 0 :(得分:2)
.delete
元素是动态插入的,因此您需要委派的事件处理程序来定位它们:
$('#roomTable').on('click', '.delete', function() {
$(this).closest("tr").remove();
});