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

如何选中Bootstrap下拉菜单并将选中项显示在下拉标题处

实现Bootstrap下拉菜单项选中后显示在标题处

这需求太常见啦!咱们只需要给现有代码加一点点标记,再写几行简单的JS代码就能轻松搞定。

修改后的HTML代码

首先调整下你的HTML结构,把下拉标题的文本单独放在一个span里,方便后续替换,同时给菜单项统一加个类:

<li class="dropdown">
  <a class="dropdown-toggle toggle2" data-toggle="dropdown" href="#">
    <span id="selectedDropdownText">Material Type</span>
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu menu2">
    <li><a href="#" class="dropdown-item">Wood</a></li>
    <li><a href="#" class="dropdown-item">Mud</a></li>
    <li><a href="#" class="dropdown-item">Cloth</a></li>
    <!-- 其他菜单项 -->
  </ul>
</li>

实现逻辑的JS代码

因为Bootstrap本身依赖jQuery,咱们直接用jQuery来写,简单高效:

// 监听下拉菜单项的点击事件
$('.dropdown-item').on('click', function(e) {
  // 阻止a标签默认的跳转行为(你的href是#,不需要跳转)
  e.preventDefault();
  // 获取当前点击菜单项的文本内容
  const selectedText = $(this).text();
  // 把下拉标题里的文本替换成选中的内容
  $('#selectedDropdownText').text(selectedText);
});

额外小提示

如果你的菜单项是动态生成的(比如从后端加载),那就要用事件委托来绑定点击事件,代码改成这样:

$(document).on('click', '.dropdown-item', function(e) {
  e.preventDefault();
  const selectedText = $(this).text();
  $('#selectedDropdownText').text(selectedText);
});

这样不管后续新增多少菜单项,点击事件都能正常生效~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:42:59