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.

War es hilfreich?

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

sein
function 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);
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top