Wie aktuelle Zeile mit jQuery Plugin Datentabelle löschen
-
20-09-2019 - |
Frage
Ich habe eine Spalte mit den Tasten in einer Tabelle I jQuery Datatable-Plugin bin mit. Die Tasten sagen „Entfernen“ und die Idee ist, dass, wenn Sie auf diese Schaltfläche klicken Sie die aktuelle Zeile in der Tabelle gelöscht werden.
Als ich fnDeleteRow
nennen scheint es das erste Mal zu arbeiten, aber nicht jeden Tag Zeit für diese Reihe so sieht es aus wie es ist nicht wirklich die Zeile richtig zu löschen.
Lösung
Versuchen Sie diese:
var row = $(this).closest("tr").get(0);
oTable.fnDeleteRow(oTable.fnGetPosition(row));
Wenn es nicht funktioniert, überprüfen Sie die folgenden Beispiel
Andere Tipps
Angenommen, Sie haben eine Funktion an aufgerufen werden, wenn der Benutzer auf die Schaltfläche klickt. Die Funktion wäre so etwas wie dies
seinfunction DeleteRow(event)
{
//get the row of the cell that is clicked
var $row = $(this).parents("tr").eq(0)
//if you need the id you can get it as
var rowid = $row.attr("id");
//now you can call delete function on this row
$row.delete();
}
Wie wäre es damit:
// Delete Row
$('.glyphicon-minus').on("click", function() {
configTable.row($(this).closest("tr").get(0)).remove().draw();
});
Seite :
$('#example tbody td').click( function () {
/* Get the position of the current data from the node */
var aPos = oTable.fnGetPosition( this );
//...
} );
Dies ist, wie es funktioniert für mich. In der Dokument-Ready-Funktion zuweisen ich konvertierte Version von HTML-Tabelle auf eine Variable und wenn eine Taste in der geklickt wird Ich gehe durch die Eltern / Childs mit JQuery und die Zeile, die Sie als Parameter fnDeleteRow () in die Bibliothek der Funktion erhalten senden.
Hier ist die Kommentare aus der Bibliotheksfunktion. Und ein Beispiel, das in der Bibliothek erwähnt wird.
/**
* Remove a row for the table
* @param {mixed} target The index of the row from aoData to be deleted, or
* the TR element you want to delete
* @param {function|null} [callBack] Callback function
* @param {bool} [redraw=true] Redraw the table or not
* @returns {array} The row that was deleted
* @dtopt API
* @deprecated Since v1.10
*
* @example
* $(document).ready(function() {
* var oTable = $('#example').dataTable();
*
* // Immediately remove the first row
* oTable.fnDeleteRow( 0 );
* } );
*/
// And here's how it worked for me.
var oTable;
$("document").ready(function () {
oTable = $("#myTable").dataTable();
});
//Remove/Delete button's click.
$("a[name='deleteColumn']").click(function () {
var $row = $(this).parent().parent();
oTable.fnDeleteRow($row);
});