jQuery DataTables 是一个功能强大的 jQuery 插件,用于在网页上显示和操作表格数据。它提供了排序、分页、搜索和行操作等功能。
当使用 DataTables 时,删除操作仅对第一行有效,其他行的删除按钮不起作用。
$(document).on('click', '.delete-btn', function() {
var table = $('#example').DataTable();
var row = $(this).closest('tr');
table.row(row).remove().draw();
});
// 初始化时给每行添加唯一标识
$('#example').DataTable({
"createdRow": function(row, data, dataIndex) {
$(row).attr('data-id', data.id);
}
});
// 删除操作
$('#example').on('click', '.delete-btn', function() {
var table = $('#example').DataTable();
var row = $(this).closest('tr');
var id = row.data('id');
// 执行删除逻辑
table.row(row).remove().draw();
});
$('#example').DataTable({
"fnDrawCallback": function() {
$('.delete-btn').off('click').on('click', function() {
var table = $('#example').DataTable();
var row = $(this).closest('tr');
table.row(row).remove().draw();
});
}
});
<table id="example" class="display">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td><button class="delete-btn">Delete</button></td>
</tr>
<!-- 更多行... -->
</tbody>
</table>
<script>
$(document).ready(function() {
var table = $('#example').DataTable();
// 使用事件委托处理删除操作
$('#example').on('click', '.delete-btn', function() {
var row = $(this).closest('tr');
table.row(row).remove().draw();
});
});
</script>
.on()
)而不是直接绑定(.click()
)这种解决方案适用于任何使用 jQuery DataTables 需要实现行删除功能的场景,包括:
通过以上方法,可以确保删除功能在所有行上正常工作,而不仅限于第一行。
没有搜到相关的文章