2015-06-12 4 views
5

У меня есть jsp со столом и двумя кнопками «home» и «back» в нем и импортированы jquery.datatable.js в нем.JQuery1.8 Datatables сохранение состояния одним нажатием кнопки

При щелчке по «домашнему» страница должна загружаться без сохранения постраничного изображения или фильтра. и при нажатии «назад» в таблице должен быть сохранен весь фильтр и разбивка на страницы.

Я попытался установить флаг «bStateSave» true при инициализации таблицы данных. Это всегда загружает таблицу с фильтром и разбиением на страницы.

Есть ли способ, что я могу загрузить таблицу с сохраненного состояния на нажатие кнопки «назад» и ее исходное состояние по нажатию кнопки «домой»

ответ

3

Для 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; 
    } 
    }); 
}); 
+0

Спасибо за ответ :) –

+0

Но мое приложение использует JQuery 1.8.2, я не могу изменить версию и иметь для реализации с использованием этого –

+0

@swathiethiraj, 1.10 - это версия DataTables, а не jQuery. Какую версию DataTables вы используете? –

 Смежные вопросы

  • Нет связанных вопросов^_^