Как сохранить значения формы в Backbone js? - PullRequest
0 голосов
/ 12 марта 2020

У меня есть страница со списком клиентов с кнопкой фильтра, и кнопка вызовет диалог для ввода параметров для поиска.

Как только я применяю фильтр (процесс ajax), результаты фильтруются и отображаются правильно, диалоговое окно закрывается.

Поскольку у меня есть разбиение на страницы, при разбивке на страницы перейдите к параметрам фильтра не найдены, так как диалоговое окно закрыто.

Теперь, как мне преодолеть эту проблему и сохранить данные формы? Пожалуйста, порекомендуйте! Спасибо!

Кстати, я использую tableorterPager для разбивки на страницы

tablesorterPager({  
    container: $('#pager'),
    removeRows: true,
    page: 0,
    size: 10,
    savePages: false,
    ajaxUrl: utrl,
    customAjaxUrl: function(table, url) {
        //The below serailize is where the input for search form resides and doesn't work for the second page pagination.
        return url += '&'+$('[name="search_filter"]').serialize();
    },
    ajaxProcessing: function (data) {
        if (data[0] === 0) {
            return false;
        }
        return data;
    }
})

1 Ответ

0 голосов
/ 13 марта 2020

Вы можете сохранить параметры фильтра в модели Backbone, что-то вроде

// When closing the filter dialog, save the values
const filterParamsModel = new Backbone.Model();

filterParamsModel.set({
  filterTitle: 'hello',
  filterBy: $('#someInput').val()
});


// Later during pagination

customAjaxUrl: function(table, url) {]
   return url += '&' + = jQuery.param(filterParamsModel.toJSON());
},
...