Старые значения из множественного выбора в Laravel 10 и select2Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Гость
 Старые значения из множественного выбора в Laravel 10 и select2

Сообщение Гость »


В моем проекте Laravel я использую select2, чтобы иметь простую систему фильтров. Одна из вещей, которую я хочу сделать, — это сохранить старые значения во входных данных после фильтрации (и оставить их выбранными в серверной части). Я пытался сделать это несколькими способами, но Laravel этого не поддерживает. Я новичок в Laravel, поэтому большинство из них были попытками и ошибками новичков.

Код, который у меня есть, лучше всего объяснить в текстовом виде, но ради этого я также оставил код ниже.

views/product-search.blade.php

Имеет выбранный мультиплексор, к которому прикреплены 3 функции.

1: если форма отправлена ​​-> удалить атрибут имени из элемента выбора

2: onchange -> добавить идентификатор базы данных выбранной опции к скрытому вводу

3: onwindowload -> установите для ввода значение «-- Выбрать сертификаты --»

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

Но у меня есть и другое представление — компонент:

views/comComponent/select2.blade.php

Это компонент многократного использования, поэтому идентификаторы являются динамическими, но постоянными во всем файле.

Здесь меня это сбивает с толку, потому что есть @if(!$multiple), поэтому, если Multiple имеет значение false. Другими словами, у него нет свойства Multiple, верно?

В этом файле также есть часть сценария, в которой используются две основные функции. У него также есть третий, но это $.focus(). Этот сценарий отличается от других, что говорит само за себя.

Теперь код ниже:

views/product-search.blade.php

Сертификаты Из-за большого количества сертификатов загрузка может занять более 15 секунд
{{-- А потом какой-нибудь скрипт @pushonce --}} $('#product_search_form').submit(function () { $('input[name="certificates"]').remove(); }); // Если входные данные изменились, отредактируйте сертификат соответствующим образом $('#сертификаты').change(function () { пусть сертификаты = ''; пусть selected_certificates = $(this).children().length; $(this).children().each(function (i, el) { сертификаты += $(el).val(); если (я !== (выбранные_сертификаты - 1)) сертификаты += ','; }); $('#product_certificates').val(сертификаты); }); // Устанавливаем входные данные по умолчанию. // ЗАДАЧА: изменить заполнитель, чтобы включить старые выбранные и исключить их из поиска $('#сертификаты').select2({ тема: «бутстрап-5», ширина: $(this).hasClass('w-100') ? «100%»: «стиль», заполнитель: '-- Выберите сертификаты --', allowClear: Boolean($(this).data('allow-clear')), аякс: { URL: 'автозаполнение/исключения для продуктов', Тип данных: 'JSON', задержка: 250, данные: функция (параметры) { возвращаться { термин: params.term || '', страница: params.page || 1 } }, кэш: правда } }); });
views/comComponent/select2.blade.php

@isset ($заполнитель) @if (!$множественный) {{ $placeholder }} @endif @endisset @push('push-скрипт') $(документ).ready(функция () { let Placeholder = $(this).attr('placeholder'); if ('{{ $placeholder }}' !== '' && '{{ $multiple }}' === 'несколько') { заполнитель = '{{ $placeholder }}'; } $('select[name="{{ $name }}"]').select2({ тема: «бутстрап-5», ширина: $(this).data('ширина') ? $(this).data('width'): $(this).hasClass('w-100') ? «100%»: «стиль», заполнитель: заполнитель, allowClear: Boolean($(this).data('allow-clear')), аякс: { URL: '{{ $url }}', Тип данных: 'JSON', задержка: 250, данные: функция (параметры) { возвращаться { термин: params.term || '', страница: params.page || 1 } }, кэш: правда } }); }); @endpush И чтобы мой последний вопрос был ясен: как я могу добавить несколько старых выбранных значений в правильный скрипт(ы) и как мне предотвратить их повторную фильтрацию (т. е. после того, как вы нажмете кнопку поиска, вы сохраните сертификат1 как выбрано и в списке его нельзя выбрать повторно)

Я надеюсь, что это объяснение и код сделали все понятным и понятным. Спасибо!

Я попробовал несколько вещей, но у меня слишком ограниченные знания о select2 и недостаточно знаний о laravel, чтобы объединить эти 2 в старый множественный выбор. Из-за некоторых сложностей с тем, как мы «внедряем» все остальные сообщения, похоже, тоже не помогли.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»