如何在加载数据表时传递页码,而不是页面大小

时间:2016-04-12 16:13:31

标签: jquery ajax datatables

我可以使用下面的脚本默认使用第二页加载数据表。

jQuery(document).ready(function() {
        dataTable =  jQuery('#tableid').DataTable( {
        processing: true,
        serverSide: true,
        "displayStart": 10,
"ajax":{
  url :"load_browser_two_data.php,
  type: "POST" 
        }
})
});

通过使用上面的脚本,我可以加载第二页。但我需要传递页码而不是页面大小(“displayStart”:10)。我怎样才能实现那一个?任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

只需计算页码的大小,如下所示:

"displayStart": (pageNumber - 1) * 10

pageNumber = 2会产生10. 3 => 20,等等。

答案 1 :(得分:1)

您可以按建议计算它,但问题是如果您想要更改页面大小,您必须在DataTable设置和公式中更改它。

为避免这种情况,您还可以使用本机page()功能: https://datatables.net/reference/api/page()#Example

以下是如何使用它的示例:

var table = $('#example').DataTable({
    "deferLoading": 0   /* This won't load initial data */

    // Your config comes here
    // ...
});

// Get the data for page 7 and draw the DataTable
table.page( 7 ).draw( false );


// For reference...

// Go to next page 
table.page( 'next' ).draw( 'page' );

// Go to previous page
table.page( 'previous' ).draw( 'page' );

您还可以在deferLoading上阅读更多内容。

答案 2 :(得分:0)

尽管问题得到了回答,但我的回答仍然可以对某人有所帮助。 由于获取页码发送和获取数据的可能性最小,因此,还可以使用数据表的保存表状态的属性。

max_price ` 可以在此处找到更多描述

[https://datatables.net/examples/basic_init/state_save.html]