Как добавить опцию поиска для раскрывающегося поля в плагине Cost Calculator Builder?
Ссылка скопирована
Как добавить опцию поиска для раскрывающегося поля в плагине Cost Calculator Builder?
Иногда раскрывающиеся поля могут быть довольно длинными и содержать множество опций. В таких случаях пользователям может потребоваться выполнить поиск определенного значения.
Дополнительно:
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
Аккумуляторные батареи
Почему при зарядке автостарта слышен писк, где искать причину?
1 ответ
woocommerce
Как отображать при фильтрации товары со значением search параметра visibility: HUSKY — Products Filter for WooCommerce?
1 ответ
VPN
Почему подключение через VPN работает только на wi-fi, а через кабель нет, где ошибка?
1 ответ
Safari
Почему снова флагнули домен в safari?
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, обязательно проверяя пересчёт стоимости и мобильную версию.