В даний час я борюся зі спаданнями, і хочу поділитися своїм досвідом:
Існують конкретні ситуації, коли <select>
їх неможливо використати, і їх слід «наслідувати» за допомогою спаду.
Наприклад, якщо ви хочете створити групи введення завантажувальної програми, наприклад, кнопки зі спадними списками (див. Http://getbootstrap.com/components/#input-groups-buttons-dropdowns ). На жаль <select>
, не підтримується у групах введення, він не буде відображений належним чином.
Або хтось це вже вирішив? Мені було б дуже цікаво рішення.
А щоб зробити це ще складніше, ви не можете використовувати так просто, $(this).text()
щоб зрозуміти, що обраний користувачем у спадному меню, якщо ви використовуєте гліпікони чи чудові шрифтові значки як вміст для випадаючого. Наприклад:
<li id="someId"><a href="#0"><i class="fa fa-minus"></i></a></li>
Тому що в цьому випадку немає тексту, і якщо ви додасте його, він також відображатиметься у спадному елементі, і це небажано.
Я знайшов два можливі рішення:
1) Використовуйте $(this).html()
для отримання вмісту обраного <li>
елемента, а потім для його вивчення, але ви отримаєте щось подібне, <a href="#0"><i class="fa fa-minus"></i></a>
тому вам потрібно пограти з цим, щоб витягти те, що вам потрібно.
2) Використання $(this).text()
і приховати текст елемента в прихованому прольоті:
<li id="someId"><a href="#0"><i class="fa fa-minus"><span class="hidden">text</span></i></a></li>
. Для мене це просте і елегантне рішення, ви можете помістити будь-який потрібний вам текст, текст буде приховано, і вам не потрібно робити ніяких перетворень $(this).html()
результату, як у варіанті 1), щоб отримати те, що вам потрібно.
Я сподіваюся, що це зрозуміло і може комусь допомогти :-)