Jquery DataTable在加载时自动滚动到底部

我正在使用jQuery DataTable插件,当数据通过AJAX加载时,无法找到使其滚动到表底部的方法。

所以我的页面的基本布局上有两个3 jQuery DataTables。 从我通过检查呈现的代码看到的是插件将创建一个id为“myTableid_wrapper”的div包装器,其中有两个子节点和表格。

现在,如果该表触发了滚动function,那么该表将再次包含在另一个具有overflow:div的div中,以便可以滚动表。

该div的类名为“dataTables_scrollBody”。 以下是未触发滚动function的表的示例。

no worried about this guy
does not matter whats in here

以下是触发插件滚动function的表的总体布局。 正如您所看到的那样,插件会自动生成类“dataTables_scrollBody”的div。

 
no worried about this guy
does not matter whats in here

这两个表都位于同一页面上。 这两个表都可能有也可能没有滚动div。

有没有办法定位类“dataTables_scrollBody”并在通过AJAX创建表时滚动到底?

假设你像这样初始化了数据表:

 var oTable = jQuery('#myTable1').dataTable({ "bProcessing": true, "bPaginate": false, "sScrollY": "200", "bScrollCollapse": true }); 

你可以这样做:

 oTable.parent().scrollTop(9999); 

如果你有更多的数据,你可以增加滚动的数量,或者可能有办法找出包括溢出部分的表的高度。

使用ajax,您可能必须将scrollTop代码放在“fnInitComplete”回调函数中,因此它在呈现表后执行。

另一个想法:也许您可以通过aaSorting来反转行的顺序,然后您不必进行任何滚动。

如果像我这样的人最终在这里查找如何舒适地滚动js数据表,我强烈建议你去看看scrollTo库,这完美地完成了这项工作:

https://github.com/flesler/jquery.scrollTo%5D 1

示例用法:

 $('').scrollTo( '', 1 );