Как добавить опцию поиска для раскрывающегося поля в плагине Cost Calculator Builder?
Ссылка скопирована
Как добавить опцию поиска для раскрывающегося поля в плагине Cost Calculator Builder?
Иногда раскрывающиеся поля могут быть довольно длинными и содержать множество опций. В таких случаях пользователям может потребоваться выполнить поиск определенного значения.
Дополнительно:
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
code-review
Нужен ли код-ревью React/TypeScript проекта?
1 ответ
Telegram
Как добиться, чтобы Telegram прислал мне именно смс код, а не через звонок его диктовал?
1 ответ
Аккумуляторные батареи
Почему при зарядке автостарта слышен писк, где искать причину?
1 ответ
woocommerce
Как отображать при фильтрации товары со значением search параметра visibility: HUSKY — Products Filter for WooCommerce?
1 ответ

Если в Cost Calculator Builder у dropdown много вариантов, удобнее всего заменить обычный select на searchable select. Но делать это нужно аккуратно: плагин может сам слушать change-события и пересчитывать стоимость. Если Вы полностью замените поле своей разметкой, расчёт может перестать работать.
Сначала проверьте настройки самого плагина: в некоторых версиях поиск по dropdown или enhanced select есть в Pro/аддонах. Если штатной настройки нет, можно попробовать подключить Select2 к нужному select.
Общая идея:
jQuery(function ($) { $('.ccb-wrapper select').select2({ width: '100%', placeholder: 'Выберите значение' }); });jQuery(function ($) { $('.ccb-wrapper select').select2({ width: '100%', placeholder: 'Выберите значение' }); });
Но важно подключить Select2 только после того, как Cost Calculator Builder отрисовал форму. Если калькулятор рендерится динамически, понадобится задержка или событие инициализации плагина:
setTimeout(function () { jQuery('.ccb-wrapper select').each(function () { if (!jQuery(this).hasClass('select2-hidden-accessible')) { jQuery(this).select2({ width: '100%' }); } }); }, 500);setTimeout(function () { jQuery('.ccb-wrapper select').each(function () { if (!jQuery(this).hasClass('select2-hidden-accessible')) { jQuery(this).select2({ width: '100%' }); } }); }, 500);
После выбора значения нужно убедиться, что срабатывает
changeи калькулятор пересчитывает итог. Select2 обычно триггерит change сам, но если нет, можно добавить:jQuery('.ccb-wrapper select').on('select2:select', function () { jQuery(this).trigger('change'); });jQuery('.ccb-wrapper select').on('select2:select', function () { jQuery(this).trigger('change'); });
Если плагин использует не настоящий
select, а кастомный Vue/React-компонент, такой способ может не подойти. Тогда лучше не вмешиваться в DOM напрямую, а использовать hook/API плагина или обратиться к разработчикам.Итог: сначала ищите штатную опцию. Если её нет, пробуйте Select2 поверх реального select, обязательно проверяя пересчёт стоимости и мобильную версию.