In this tutorial we will see laravel 8 datatables keeping selected page number after callback. In datatable page number is not save when you reload page so, we need to keep or get current page in datatable after page reload to save state of datatable.
So, we need this kind of requirements like refresh datatable without refreshing page number in laravel 6/7/8, laravel 6/7/8 datatable refresh current page, laravel 6/7/8 datatable state save, refresh page without losing active pagination in datatable using jquery, how to refresh datatable without reloading page in laravel 6/7/8.
Enable or disable state saving. Datatables stores state information such as pagination position, display length, filtering and sorting. When this initialisation option is active and the end user reloads the page the table's state will be altered to match what they had previously set up.
So, let's see some examples of datatables state save callback example
In this example just change value of statesave function like true or false.
$('#example').dataTable( {
stateSave: true,
stateDuration:-1
} );
Data storage for the state information in the browser is performed by use of the localStorage or sessionStorage HTML5 APIs.
The stateDuration
: This option is also used to indicate to datatables if localStorage or sessionStorage should be used for storing the table's state. When set to -1 sessionStorage will be used, while for 0 or greater localStorage will be used.
Set state duration to 1 day :
$('#example').dataTable( {
"stateSave": true,
"stateDuration": 60 * 60 * 24
});
Enable state saving and override state save/load handlers to use only the table's DOM id
$('#example').dataTable( {
stateSave: true,
stateSaveCallback: function(settings,data) {
localStorage.setItem( 'DataTables_' + settings.sInstance, JSON.stringify(data) )
},
stateLoadCallback: function(settings) {
return JSON.parse( localStorage.getItem( 'DataTables_' + settings.sInstance ) )
}
} );
stay on the current page after re-drawing if you pass false
as a first parameter to the draw() function.
table.row(index).data(data).draw(false)
If you are using server side datatable, then you can use ajax.reload() function to reload the datatable and pass the true or false as a parameter for refresh paging.
var table = $("#table").DataTable();
table.ajax.reload(null, false);
You might also like :
- Read Also : How To Send Email using Node.js
- Read Also : Node.js Express CRUD Example with MySQL
- Read Also : Laravel 8 Socialite Login With GitHub Account
- Read Also : Autocomplete Search using Bootstrap Typeahead JS