数据表获取过滤后的数据不起作用并复制到第二个表

时间:2014-08-14 08:44:14

标签: jquery datatables

我需要从一个表中获取过滤数据以复制到另一个表。两者都在使用数据表。但是当我试图使用

 oriTable._('tr', {filter:'applied'});

我得到了Uncaught TypeError:undefined不是控制台中的一个函数。 我正在使用数据表1.10.1。我不知道为什么会这样。我像这样初始化数据表。在获取过滤数据的行之前。

    var oriTable = $('#originalList').DataTable({
        "columnDefs": [
        {
            "targets": [4,5],
            "visible": false,
            "searchable": true
        },
        { "orderable": false, "targets": 0 }
        ]
    });

我尝试使用这个

var rows = oriTable.$('tr', {"filter":"applied"});

但是当我使用append追加到第二个表时这样

            $("#selectedList").find("tbody").html('');
            $("#selectedList").find("tbody").append(rows);
            selTable = $('#selectedList').DataTable({
                "columnDefs": [
                {
                    "targets": [4,5],
                    "visible": false,
                    "searchable": true
                },
                { "orderable": false, "targets": 0 }]
             });

我会得到

enter image description here

然后我试着像这样使用

            $("#selectedList").find("tbody").html('');
            $("#selectedList").find("tbody").append(rows);

            selTable
                .order( [ 1, 'asc' ] )
                .draw(false);

但是这个selTable没有显示行。 这就是selTable初始化的方式。

    var selTable = $('#selectedList').DataTable({
        "columnDefs": [
        {
            "targets": [4,5],
            "visible": false,
            "searchable": true
        },
        { "orderable": false, "targets": 0 }]
    });

请帮帮我。感谢。

1 个答案:

答案 0 :(得分:0)

我在数据表1.10.1中发现了这一点。此

 oriTable._('tr', {filter:'applied'});

已成为此

 oriTable.rows({filter:'applied'});

用这个,我复制到具有相同数量的列的第二个表,像这样

var rows = oriTable.rows({filter:'applied'});
var rowsData = rows.data();
rows.remove().draw();

selTable.rows.add(rowsData).draw();