1

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

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

            $('#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()不起作用

4

2 回答 2

0

我想你想要的魔法是

$row.parentNode.removeChild($row);

未经测试。

于 2013-05-01T22:22:25.490 回答
0

对于数据表 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));
}

手册

fnDeleteRow删除表格的一行

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

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

有关详细信息,请参阅fnDeleteRow

于 2015-07-07T16:05:46.133 回答