Выберите «Все для пейджинга» и «Отображать результаты на странице», а «Отключение и включение кнопки» с помощью JQuery. - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть опция Выбрать все с кнопкой. При загрузке кнопка отключена. если вы выберете выбрать все или два или более элементов в списке, кнопка будет отключена. Тем не менее, у меня есть пейджинг и дисплей для отображения ряда элементов в таблице. Есть ли способ сохранить его так, чтобы он работал на всех страницах и при изменении номера дисплея?

Вот мой код:

//Disable Top Verify Button if two or more checkboxes are selected.
    $(document)('.verifyshipment-btn').prop('disabled', true);
    $(document).on(".individual").on("click", function () {
        if ($(".individual:checked").length > 1) {
            $('.verifyshipment-btn').prop('disabled', false);
        }
        else {
            $('.verifyshipment-btn').prop('disabled', true);
        }
    });

    //Select All
    $('.verifyshipment-btn').prop('disabled', true);
    $(document).on(".selectall").click(function () {
        if ($(".individual:checked").length > 1) {
            $('.verifyshipment-btn').prop('disabled', false);
        }
        else {
            $('.verifyshipment-btn').prop('disabled', true);
        }
    });

Параметры пейджинга и отображения

$(document).on("click",
        "#indexPager a",
        function() {
            if ($(this).parent().hasClass('disabled') || $(this).parent().hasClass('active'))
                return false;
            $.ajax({
                url: $(this).attr("href"),
                type: 'GET',
                cache: false,
                success: function(result) {
                    $('#tableContainer').html(result);
                    addBootstrapTooltips("#tableContainer");
                }
            });
            return false;
        });
    $(document).on("change",
        "#pageSizeSelector",
        function() {
            var selectedValue = $(this).val();
            $.ajax({
                url: selectedValue,
                type: 'GET',
                cache: false,
                success: function(result) {
                    $('#tableContainer').html(result);
                    addBootstrapTooltips("#tableContainer");
                }
            });
        });

1 Ответ

0 голосов
/ 04 сентября 2018

Как указывали предыдущие комментаторы, у вас действительно есть два варианта:

(1) Сохранение данных на вашем сервере приложений (через что-то вроде cookie-файла сеанса), а затем заставление вашего клиента запрашивать эту информацию у сервера, когда это потребуется.

(2) Сохранение данных в сеансе / локальном хранилище вашего браузера и извлечение их оттуда, когда вам это нужно.

Если вам нужно, чтобы эта опция сохранялась на всех устройствах (т. Е. Пользователь переключает компьютеры в середине представленного вами потока взаимодействия), то лучшим способом сделать это будет (1). Однако добавление дополнительных данных в бэкэнд может быть проблематичным, если вы не являетесь бэкенд-разработчиком (например, знаете ли вы, как / имеете разрешение на создание / манипулирование базами данных и создание новых конечных точек API?).

Для всего остального я бы рекомендовал использовать (2), а именно хранилище сеансов, которое будет автоматически собирать данные по окончании сеанса пользователя (сохраняется после перезагрузки, но удаляется при закрытии браузера). Если вам нужно больше ручного управления данными, вы можете использовать локальное хранилище браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...