如何使用jquery datatable插件删除当前行

时间:2009-12-18 03:56:10

标签: jquery sorting datatables rows delete-row

我在表格中有一个按钮,我正在使用jQuery datatable插件。按钮说“删除”,并且想法是当你点击那个按钮时它会删除表格中的当前行。

当我调用fnDeleteRow时,它似乎第一次工作但没有任何时间进行该行,所以看起来它并没有真正正确地删除该行。

5 个答案:

答案 0 :(得分:61)

试试这个:

var row = $(this).closest("tr").get(0);
oTable.fnDeleteRow(oTable.fnGetPosition(row));

如果不起作用,请检查以下example

答案 1 :(得分:2)

假设您在用户单击按钮时附加了要调用的函数。该功能将是这样的

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(); 
}

答案 2 :(得分:1)

这个怎么样:

    // Delete Row
    $('.glyphicon-minus').on("click", function() {
        configTable.row($(this).closest("tr").get(0)).remove().draw();
    });

答案 3 :(得分:0)

来自this page

$('#example tbody td').click( function () {
    /* Get the position of the current data from the node */
    var aPos = oTable.fnGetPosition( this );

    //...
} );

答案 4 :(得分:0)

这就是它对我有用的方式。在文档就绪函数中,我将HTML表的转换版本分配给变量,当单击一个按钮时,我使用JQuery通过父/子并将您获得的行作为参数发送到库的fnDeleteRow()函数

这里是来自图书馆功能的评论。并且在图书馆中提到了一个例子。

/**
* 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);
});