@dimsontm

Как реализовать кастомный селект при помощи jquery ui?

Использую плагин jquery ui для кастомизации селектов.
Собсно суть в том что плагин находит требуемый select по его id и генерит новые теги.

Проблема в том что мои селекты приходят без id, а только имеют атрибут name.
В данном случае id имеет родителский div.
<div id="kategoriya-88" data-slug="kategoriya_88" data-type="taxonomy" data-field="select" class=" search-block">
<label class="title-field">Категория</label>
<select name="kategoriya_88">
<option value="doma">Дома</option>
<option value="doma-iz-brevna">Дома из бревна</option>
<option value="bani-iz-brevna">Бани</option></select></div>


Для корректной работы необходим id у селекта, тогда плагин скрывает нативный селект и генерит теги для отображения
<select name="rooms" id="rooms" style="display: none;">
                    <option>Не важно</option>
                    <option>1</option>
                    <option>2</option>
                    <option>3</option>
                </select>


Чтобы должны получать на выходе

<div class="ui-selectmenu-menu ui-front ui-selectmenu-open" style="top: 1824px; left: 807.797px;">
<ul aria-hidden="false" aria-labelledby="rooms-button" id="rooms-menu" role="listbox" tabindex="0" class="ui-menu ui-corner-bottom ui-widget ui-widget-content" aria-activedescendant="ui-id-5" aria-disabled="false" style="width: 286px;">
<li class="ui-menu-item">
<div id="ui-id-5" tabindex="-1" role="option" class="ui-menu-item-wrapper ui-state-active">Не важно</div>
</li>
<li class="ui-menu-item">
<div id="ui-id-6" tabindex="-1" role="option" class="ui-menu-item-wrapper">1</div>
</li>
<li class="ui-menu-item"><div id="ui-id-7" tabindex="-1" role="option" class="ui-menu-item-wrapper">2</div>
</li>
<li class="ui-menu-item"><div id="ui-id-8" tabindex="-1" role="option" class="ui-menu-item-wrapper">3</div>
</li>
</ul>
/div>


Может кто сталкивался с такой задачей?
  • Вопрос задан
  • 530 просмотров
Решения вопроса 1
@dimsontm Автор вопроса
Блин решил просто поиском элемента по атрибуту)))))
$( '[name="kategoriya_88"]' ).selectmenu();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Не ответ, но возможно заменит его:
Кастомный селект через jquery ui - это боль и страдания. Посмотрите вот это решение, возможно и вопрос отпадет: select2.github.io
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы