动态添加删除行jQuery DataTables

时间:2013-05-01 21:20:45

标签: jquery datatables delete-row

我正在尝试使用编辑/删除列动态地向表添加行。单击删除时,我想删除单击的行。

我已按以下方式初始化了我的表和数据:

            $('#myTable').dataTable();


            $("#myTableAddButton").click(function () {
                var myVal1= $('#Val1').val();
                var myVal2= $('#Val2').val();
                var myVal3= $('#Val3').val();


                $('#myTable').dataTable().fnAddData([
                    myVal1,
                    myVal2,
                    myVal3,
                    '<a href="#" onclick="EditRow();return false;">Edit</a> / <a href="#" onclick="deleteRow();return false;">Delete</a>'
                ]);

然后我的DeleteRow()功能就是:

function deleteContactRow() {
    //get the row of the cell that is clicked
    var $row = $(this).closest("tr");
    $row.delete();
}

但似乎row.delete不是一个有效的函数。是否有另一种删除行的方法?

编辑:$(this).remove()$row.remove()都不起作用

2 个答案:

答案 0 :(得分:0)

我认为你想要的魔力是

$row.parentNode.removeChild($row);

未测试。

答案 1 :(得分:0)

对于DataTables 1.9.x

function deleteContactRow() {
    //get the row of the cell that is clicked
    var $row = $(this).closest("tr");
    $('#myTable').dataTable().fnDeleteRow($row.get(0));
}

来自manual

  

fnDeleteRow删除表格的一行

     

输入参数:
     {mixed}:要删除的aoData行的索引或要删除的TR元素的索引      {function|null}:回调函数
     {bool} [default=true]:是否重绘表格

     

返回参数:
     {array}:已删除的行

有关详细信息,请参阅fnDeleteRow