2017-11-25 75 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

相關問題