Я подготовил jsFiddle для моего вопроса:
Для этого я взял меню jQuery UI с примерами категорий и только что добавил атрибут VALUE="some_number"
для каждого <LI>
-элемента:
<ul id="menu">
<li class="ui-widget-header"> Category 1 </li>
<li value="1"> Option 1 </li>
<li value="2"> Option 2 </li>
<li value="3"> Option 3 </li>
<li class="ui-widget-header"> Category 2 </li>
<li value="4"> Option 4 </li>
<li value="5"> Option 5 </li>
<li value="6"> Option 6 </li>
</ul>
Затем я пытаюсь извлечь и отобразить это значение в предупреждении по нажатию кнопки:
$("#menu").menu({
items: '> :not(.ui-widget-header)'
});
$('#btn').button().click(function(ev) {
ev.preventDefault();
var value = $('#menu').val();
// var value = $('#menu li').attr('value');
alert('Selected menu value: ' + value);
});
но .val()
кажется плохим выбором, мне, вероятно, нужно пройти через $("#menu")
для этого?
Также мне интересно, почему элементы списка подсвечиваются при наведении курсора и выборе элемента в примере jQuery, а не в моем jsFiddle?
UPDATE:
Обходной путь HTML-select / optgroup / option, предложенный clearshot66, хорош, но я бы хотел, чтобы мое меню jQuery UI работало ... Я также опубликовал свою проблему на форуме jQuery .