如何在jQuery Datatables分页中返回特定页面?

我有一个数据和每行的“编辑”按钮。 单击该按钮时,/ edit / url将打开。 到目前为止一切都很好。 但是,如果我需要返回数据表,它将从第一页开始。 我能做些什么呢?

$('#table').dataTable({ "sDom" : 'rtFip>', 'fnDrawCallback' : function() { $('input:checkbox, input:radio').checkbox(); }, 'sPaginationType' : 'full_numbers', "bServerSide" : true, "sAjaxSource" : "{% url 'get_menu_list' %}" }); 

DataTables可以选择在cookie中存储状态。

 $(document).ready(function() { $('#example').dataTable( { "stateSave": true } ); } ); 

http://datatables.net/examples/basic_init/state_save.html

对于大型表,将状态存储在cookie中会失败。 此本地存储解决方案适用于大型表。

 $(document).ready(function() { $('#example').dataTable( { "bStateSave": true, "fnStateSave": function (oSettings, oData) { localStorage.setItem( 'DataTables', JSON.stringify(oData) ); }, "fnStateLoad": function (oSettings) { return JSON.parse( localStorage.getItem('DataTables') ); } } ); } ); 

资料来源: http : //datatables.net/blog/localStorage_for_state_saving

如何在jQuery Datatables分页中返回特定页面?

使用fnPagingInfo

获取有关DataTable当前用于显示每个页面的分页设置的信息,包括显示的记录数,数据集中的起点和终点等。

  $.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings ) { return { "iStart": oSettings._iDisplayStart, "iEnd": oSettings.fnDisplayEnd(), "iLength": oSettings._iDisplayLength, "iTotal": oSettings.fnRecordsTotal(), "iFilteredTotal": oSettings.fnRecordsDisplay(), "iPage": Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ), "iTotalPages": Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength ) }; }; $(document).ready(function() { $('#example').dataTable( { "fnDrawCallback": function () { alert( 'Now on page'+ this.fnPagingInfo().iPage ); } } ); } ); 

资料来源: http : //datatables.net/plug-ins/api

以下是在v1.10.7中的操作方法:

 $(document).ready(function() { $('#example').dataTable( { stateSave: true } ); } );