我为我的问题准备了一个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 中?
更新:
clearshot66 建议的 HTML-select/optgroup/option 解决方法很好,但我想让我的 jQuery UI 菜单工作......我还在jQuery 论坛上发布了我的问题。