我的页面上有三个数据表:

<table class="driving-table">
  -- table #1--
</table>
<table class="driving-table">
  -- table #2--
</table>
<table class="driving-table">
  -- table #3--
</table>


这是我用来初始化表的JS:

var table = $('table.driving-table').DataTable({
    rowReorder: true,
    dom: 'Bfrtip',
    "bFilter": true,
    buttons: [
        'copyHtml5', 'excelHtml5', 'pdfHtml5', 'print'
    ],
    "paging":   false, //Hide the "Show entries" and "Paging"
    "bInfo": false
});

//Searching:
$('#top_search').on( 'keyup', function () {
        table.search( this.value ).draw();
});


但是,使用上面的方法,我只能获得search输入以在表#3上工作。 buttons也是如此

Here is a jsFiddle表示问题。

如您所见,只有底部表格是可搜索的,并且只有底部表格按钮被放置在.button-holder中。

我究竟做错了什么?

最佳答案

您可以使用tables() API方法,如下所示:

$('#top_search').on( 'keyup', function () {
   table.tables().search( this.value ).draw();
});

table.tables().buttons().container()
   .appendTo( '.button-holder' );


有关代码和演示,请参见updated jsFiddle

09-18 18:48