[英]Datatable send current page number
我一直在尝试通过覆盖一个名为pgno的变量将当前页码发送到服务器
这是我的代码:
function fill_datatable(status='',pgno='')
{
var pgno = 0;
table = $('.tb_scoin_available').DataTable({
"processing": true,
"serverSide": true,
"ordering" : false,
"infoCallback": function( settings, start, end, max, total, pre ) {
var api = this.api();
var pageInfo = api.page.info();
pgno = pageInfo.page+1;
return pgno;
},
"ajax":{
"url": base_url+'/adminPath/management_scoin/ajaxGetScoinAvailable',
"type": "POST",
"data":{ _token: csrf_token, status : status,pgno : pgno}
},
"columnDefs": [ { orderable: false} ],
"columns": [
{ "data": "no" },
{ "data": "created_at" },
{ "data": "serial_scoin" },
{ "data": "unit_scoin" },
{ "data": "unit_scoin_desc" },
{ "data": "unit_scoin_sc" },
{ "data": "unit_scoin_idr" },
],
});
}
当我尝试在 infoCallback 上发出警报时: alert(pgno)
变量已经被覆盖,但是当我尝试在后端转储请求时, pgno POST 给我 null 结果如下:
任何人都可以帮助我吗?
您可以使用 page() function 获取表格页面,不需要整个“page.info”。 在 Datatable 的 API 中有更好的解释: https://datatables.net/reference/api/page()
您尝试访问的方法只是获取信息,而不是设置信息。 这可能就是它不起作用的原因。 查看他们的文档以更好地了解他们的 API: https://datatables.net/reference/api/page.info()
编辑:
您可以通过简单的计算得到当前页面。 由于您使用的是服务器端处理,因此您已经有了start和length 。 您只需要执行 start/length + 1 即可获得当前页码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.