Для DataTables 1,10:
Ниже API functions для DataTables 1,10, связанные с государственной экономии:
state()
Получить последнее сохраненное состояние таблицы
state.clear()
Очистить сохраненное состояние таблицы.
state.loaded()
Получить состояние таблицы, которое было загружено во время инициализации.
state.save()
Trigger a state save.
Для обеспечения экономии состояния необходимо иметь параметр инициализации stateSave: true
. Затем, когда пользователь нажимает кнопку «Главная», вы можете позвонить $('#example').DataTable().state.clear()
, чтобы очистить сохраненное состояние.
Для DataTables 1,9 и более ранних версий:
К сожалению, нет прямого метода API, чтобы очистить сохраненное состояние.
Для обеспечения экономии состояния необходимо иметь параметр инициализации bStateSave: true
.
Вариант 1: Использование document.cookie:
Ниже хак предназначен для очистки куки, который содержит данные о состоянии. Когда пользователь нажимает кнопку «Главная», вам необходимо выполнить приведенный ниже код. ВАЖНО: Замените example
на ваш идентификатор стола.
// Reset current state
document.cookie = name + 'SpryMedia_DataTables_' + 'example' + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
Вариант 2: Использование fnStateLoadParams:
В качестве альтернативы, вы можете использовать fnStateLoadParams функцию обратного вызова, чтобы определить, когда загружать или игнорировать данные состояния.Определить на странице загрузки, должны ли быть загружены или игнорировать состояние путем присвоения true
или false
соответственно loadStateParams
переменной:
$(document).ready(function() {
$('#example').dataTable({
"bStateSave": true,
"fnStateLoadParams": function (oSettings, oData) {
// Disallow state loading by returning false
var loadStateParams = false;
return loadStateParams;
}
});
});
Спасибо за ответ :) –
Но мое приложение использует JQuery 1.8.2, я не могу изменить версию и иметь для реализации с использованием этого –
@swathiethiraj, 1.10 - это версия DataTables, а не jQuery. Какую версию DataTables вы используете? –