我试图用jQuery删除从数据表中选择id="data(Number)"
的行如何。这是可能的,或者id
会更好<tr>
代码,而不是<td>
代码?
<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered">
<thead>
<tr>
<th>Check</th>
<th>Field_1</th>
<th>Field_2</th>
<th>Field_3</th>
</tr>
</thead>
<tbody id="dataTable">
<tr>
<td><input type='checkbox' id='data1'><br></td>
<td>Field_1_Input1</td>
<td>Field_2_Input1</td>
<td>Field_3_Input1</td>
</tr>
<tr>
<td><input type='checkbox' id='data2'><br></td>
<td>Field_1_Input2</td>
<td>Field_2_Input2</td>
<td>Field_3_Input2</td>
</tr>
</tbody>
</table>
答案 0 :(得分:5)
尝试:
function removerow(number){
$('#data'+number).closest('tr').remove();
}
然后您可以调用示例removerow(2)
来删除包含id=data2
更新(来自评论)
要使用td
获取行中的$("#data"+i)
元素,请尝试:
$('#data' + number).parent().siblings().each(function () {
console.log($(this).text());
});
答案 1 :(得分:3)
尝试以下方法 -
var oTable = $('#table_id')。dataTable();
oTable.fnDeleteRow(oTable.fnGetPosition(selected_tr)); // JQuery dataTable 函数从表中删除行
答案 2 :(得分:2)
这是一个例子: -
var table = $('#example').DataTable();
$('#example tbody').on( 'click', 'img.icon-delete', function () {
table
.row( $(this).parents('tr') )
.remove()
.draw();
} );
答案 3 :(得分:1)
是的,你可以使用这个seletor :eq(n)
function deleteRow(number)
{
$("tbody tr:eq(" + number")").remove();
}
这将从0开始删除选择了哪个数字的行。
答案 4 :(得分:0)
使用数据表API易于使用,如果您使用的是paging
等,则可以提供帮助。一旦删除行,这将更新文档的页数。
// datatable intitalization.
$('#userInfo').DataTable({
'paging': true,
'lengthChange': true,
"lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
'searching': true,
'info': true,
'autoWidth': true,
'stateSave': true,
'ordering': true,
'deferRender': true,
columnDefs: [
{ targets: [4], orderable: false }
]
});
// function to remove datatable row.
function RemoveDatatableRow(rowId){
var row = $("#" + rowId);
$("#userInfo").dataTable().fnDeleteRow(row);
}
答案 5 :(得分:0)
tableID = $('#dataTableInfoUser');
var table = tableID.DataTable().rows().nodes();
var rowCount = table.length;
for (var i = 0; i < rowCount; i++) {
var row = tableID.DataTable().row(i).node();
var chkbox = row.cells[0].childNodes[0];
if (null != chkbox && true == chkbox.checked) {
tableID.dataTable().fnDeleteRow(i);
rowCount--;
}
}