У меня запущен плагин jQuery под названием Paginationjs. Подчеркивание также задействовано, но на самом деле это не то, о чем этот пост.
Я хочу добавить текстовый фильтр, чтобы сервер мог фильтровать перед отправкой ответа. Вот код:
$(function() {
$('#pagination-container').pagination({
dataSource: 'pagination/api',
locator: 'data',
totalNumberLocator: function(response) {
// you can return totalNumber by analyzing response content
return response.totalAmount;
},
alias: {
pageNumber: 'pageNum',
pageSize: 'limit'
},
pageSize: 5,
ajax: {
url : 'pagination/api',
data: {
filter : $('#filter').val()
}
},
callback: function(data, pagination) {
var template = _.template($('#template-demo').html());
var html = template({data: data});
$('#data-container').html(html);
}
});
});
Всякий раз, когда я меняю страницу, вызывается ajax-вызов, с фильтром параметров, pageNum и limit, прикрепленным к URL-адресу.
Значение фильтра в этом URL-адресеостается неизменным при изменении страницы: Пусто. Даже когда я набираю вещи в этом текстовом поле с идентификатором «фильтр», он все равно остается пустым.
Этот плагин требует установки, называемой набором данных, поэтому я вынужден использовать URL-адрес там, а также внутри ajax. -setting под названием url.
Интересный факт: когда я что-то ввел в это текстовое поле и нажал F5 в Firefox, браузер сохраняет этот контент в этом поле после обновления, и введенное значение отправляется на сервер,Затем устанавливается значение для параметра URL «фильтр». Но, тем не менее, когда я изменяю значение и меняю страницы, оно остается тем же значением после обновления сайта.
Есть ли обходной путь для достижения этой цели?
PS: я не смогиспользуйте тег paginationjs, потому что моя репутация ниже 1500.