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

如何通过ID获取Bootstrap dropdown toggle下拉框用户选中的文本内容

Bootstrap Dropdown 选中值获取解决方案

错误原因说明

你尝试的方法2、3、5是针对原生<select>标签的取值写法,你当前使用的是Bootstrap的Dropdown组件,基于ul/li/a结构实现,没有原生的selected状态和change事件,所以这些写法天然不生效。
方法1、4、6的逻辑方向正确,出现undefined通常是因为事件绑定时机错误(JS代码执行时DOM还未渲染完成,没有绑定上点击事件)、jQuery未正确引入,或者变量作用域问题。

正确实现代码

确保代码写在DOM加载完成的回调中,或者放在页面底部、Dropdown组件的HTML代码之后加载:

// 声明变量存储选中的搜索类型,可根据业务需要调整作用域
let selectedSearchType = '';

$(document).ready(function() {
  // 通过ID #SearchType 绑定事件,完全和第一个下拉框隔离
  $('#SearchType .dropdown-item').on('click', function(e) {
    e.preventDefault();
    // 获取选中的文本,trim去除前后多余空白字符
    selectedSearchType = $(this).text().trim();
    // 若需要获取自定义的data-value属性可使用以下写法
    // const searchValue = $(this).data('value');
    
    // 更新按钮文本展示选中内容
    $('#SearchTypeBtn').text(selectedSearchType);
    // 测试输出,可在浏览器控制台查看获取结果
    console.log('选中的搜索类型:', selectedSearchType);
  });
});

后续业务逻辑需要用到选中值时,直接读取selectedSearchType变量即可。

异常排查点

如果执行后仍有问题,可按以下顺序排查:

  • 确认jQuery已正确引入,且引入位置在你的自定义JS代码之前
  • 确认Bootstrap的JS文件已正确引入,保证Dropdown组件可以正常展开收起
  • 打开浏览器F12控制台,检查是否有其他JS报错打断了代码执行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 14:45:03