2017-10-20 58 views
0

我目前有一些数据的数据表。问题如下: 最少有91行,我们将页面设置为10行。这给了我们10页,最后一页只有1行。更改AJAX数据表的当前页面

我使用DataTables API中的.ajax.reload()方法刷新表,每当我对其进行任何更改时,我都会将“keepPage”参数设置为true,这意味着如果我在第5个页面和我编辑的东西,在服务器端处理后,我的数据仍然会加载第5页。

但是,问题出现在最后一页只有1行并删除该行时。我的表在第10页刷新,因为没有更多内容,它会显示一个空表。

如何将本例中的页面更改为上一页?

+0

如何判断,没有看到任何代码... – Legends

回答

1

使用page.info()可以在重新加载ajax.reload()之前获取关于表格的分页信息。

然后执行以下计算。

var table = $('#example').DataTable(); 

// Get paging information 
var info = table.page.info(); 

// Number of deleted rows 
var numDeleted = 1;  

// Calculate number of pages after deleting rows 
var numPagesAfter = Math.ceil((info.recordsDisplay - numDeleted)/info.length); 

// If number of pages after deleting rows is less than total number of pages 
// and the last page is displayed 
if(numPagesAfter < info.pages && info.page === (info.pages - 1)){ 
    // Go to previous page using zero-based index 
    table.page(numPagesAfter - 1); 
} 

// Reload table 
table.ajax.reload();  
+0

非常感谢,男人!这工作! :) –

相关问题