You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取jQuery UI菜单选中LI元素的value属性?为何无高亮效果?

jQuery UI菜单问题:获取选中项value及高亮失效

我基于jQuery UI的分类菜单示例做了修改,给每个可选择的<li>元素都添加了VALUE="some_number"属性,对应的HTML结构如下:

<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>

之后我初始化了菜单组件,还添加了一个按钮,想在点击按钮时获取选中项的value并弹窗显示:

$("#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()显然不是获取选中项value的正确方法,我试过直接取li的attr也不行,想知道怎么通过$("#menu")这个菜单实例来拿到选中项的value?
  • 官方示例里的列表项在hover和选中状态下都会有高亮效果,但我的实现里完全看不到这个效果,这是哪里出问题了?

更新:
有朋友建议用HTML原生的select/optgroup/option来替代,这个方案确实可行,但我还是希望能把自己的jQuery UI菜单给调试正常。另外我也在jQuery官方论坛发了这个问题求助。

内容的提问来源于stack exchange,提问作者Alexander Farber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:02:42