2017-11-25 145 views
0

我想删除数据表中的行永久它会在点击|时弹出删除的行错误

如果我删除所有的行,我想数据表会显示默认“无可用数据”文本。

我已经尝试一些POST:但没有运气

DataTables remove row button与答案:

$("#dataTables-example").on('click', '.btn-info', function() { 
     $(this).parent().parent().remove(); 
    }); 

I cannot remove row with jQuery与答案:

$('tbody tr:last-child').remove(); 

但是,当我删除所有的行,文本“无可用数据”不 出现。当单击thead时,会弹出删除的 行。

========================

MY JSFiddle

的jQuery删除行:

$(document).on('click', '.deleteRow', function() { 
$(this).closest('tr').remove(); 
}); 
DataTable中FUNC

"columns": [ 
     { "data": "id"}, 
     { "data": "name" }, 
     { "data": "subtype"}, 
     { "data": "approximate_count" }, 
     { "data": "time_created" }, 
     {data: null , 
     "sClass" : "center", 
     "sDefaultContent" : '<button class="deleteRow">Delete</button> ' 
     }, 
     ], 

回答

2

为了显示默认的文字,你可以尝试

$('#example').DataTable({ 
    "language": { 
     "emptyTable": "My Custom Message On Empty Table" 
    }, 
    rowId: id 
}); 

删除行使用,

你需要使用AJAX从后端删除数据,以及。 比你可以使用下面的功能。

$(document).on('click', '.deleteRow', function(e) { 
    var id = $(this).parents('tr').attr('id'); 
    var rowid = document.getElementById(id); 
    var Pos = table.fnGetPosition(rowid); 
    table.fnDeleteRow(Pos); 
}); 

请检查jsfiddle。

JSFIDDLE

+0

对不起,我不是这个意思。 我想如果我删除了所有的行,dataTable会调出“No data available”文本。 但在我的jsfiddle显示一个空白表时,所有行已经删除。 – Ananda

+0

你能帮我怎么把你的删除行代码输入到jsfiddle? – Ananda

+0

请检查更新的小提琴。所有问题都解决了。 –

0

你应该设置使用DataTable(),不dataTable()插件。

然后要获取要删除的相关行,可以使用:myTable.row(':eq(' + $(this).closest('tr').index() + ')')。也许有更好的方法,但我不知道足够的Datatable插件。

请参阅jsFiddle

并获得自定义消息,如@PratikGadoya's answer, 中所述,参见jsFiddle

1

通过从DOM中删除元素,实际上并不是从DataTable的内存中删除数据。您必须使用DataTable's API methods来操纵表格(添加,编辑,删除等)。

将DataTable()方法的返回值分配给一个变量。这是对DataTable对象的引用。

例如:

var table = $("myTable").DataTable({ 
    // DataTable options goes here 
}); 

现在,要删除一个特定的行中,使用行()除去在删除按钮的onclick事件处理程序()方法,如下所示。

$(".removeButton").click(function () { 
     table.row($(this).parents('tr')).remove().draw(); 
}); 

Here是此方法的API参考。

+0

国际海事组织正确的答案,这里是OP的小提琴更新所需的oneliner - > ** https://jsfiddle.net/oawftt7z/3/** – davidkonrad