Ответ 1
В DataTables есть опция сохранения состояния в файле cookie.
$(document).ready(function() {
$('#example').dataTable( {
"stateSave": true
} );
} );
В каждой строке есть кнопка "Изменить" и "Изменить". Когда я нажимаю эту кнопку, открывается /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
} );
} );
Сохранение состояния в файле 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
Получить информацию о настройках пейджинга, которые в настоящее время используются DataTables для отображения каждой страницы, включая количество отображаемых записей, начальную и конечную точки в наборе данных и т.д.
$.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
} );
} );