2012-09-04 31 views
0

我有一个分页的jQuery DataTable,我想滚动到特定的行。该行可能位于另一页面上。我目前正在尝试以下操作:如何以编程方式滚动到jQuery DataTable中的特定元素?

var scroller = profileTable.fnSettings().nTable.parentNode;            
scroller.scrollTo($('.row_selected'), 1); 

其中profileTable是一个DataTable。

我想滚动的行有一个<tr class="row_selected">

的JavaScript错误,我在Chrome的开发者工具看到的是:

Uncaught TypeError: Object #<HTMLDivElement> has no method 'scrollTo' 

我也试过

var scroller = profileTable.fnSettings().nTable.parentNode;            
$(scroller).scrollTo($('.row_selected'), 1); 

错误:

Uncaught TypeError: Object [object Object]> has no method 'scrollTo' 

我已经试过ScrollTo Plugin 没有运气。任何人使用jQuery 1.7.2或更高版本的插件?

任何移动到DataTable中的指定行的例子将不胜感激。

+0

如果它没有方法scrollTo,您可能没有在页面上或偶然在后面加入它。 –

+1

ScrollTo插件有什么问题? –

+0

另外 - 看起来你想滚动一些滚动div(.parentNode)。它有滚动条吗?或者你想把选定的行放在窗口的顶部? –

回答

0
while(!profileTable.find($("tr.row_selected"))[0]){ 
    profileTable.fnPageChange('next'); 
} 
$(".dataTables_scrollBody").scrollTop($("tr.row_selected").offset().top - $(".dataTables_scrollBody").height()); 

您必须分页查找具有选定行的页面,然后滚动到该页面。

相关问题