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

如何在Search()函数中获取选中的tab按钮ID?

Bootstrap Tab选中项ID获取及跳转解决方案

核心解决思路

Bootstrap Tab组件会为当前激活的标签按钮自动添加active类,直接通过这个类定位到选中的按钮,再提取其ID即可实现后续分支逻辑。

具体代码实现

方法一:原生DOM查询(无需依赖Bootstrap JS)

直接在Search()函数中定位激活状态的Tab按钮:

function Search() {
  // 定位ul#FlightType下的激活Tab按钮
  const activeTabBtn = document.querySelector('#FlightType .nav-link.active');
  if (!activeTabBtn) {
    console.log("未选中任何Tab选项");
    return;
  }

  const selectedTabId = activeTabBtn.id;
  // 根据ID执行不同页面跳转
  switch(selectedTabId) {
    case "tab-domestic":
      window.location.href = "/domestic-flights";
      break;
    case "tab-international":
      window.location.href = "/international-flights";
      break;
    case "tab-charter":
      window.location.href = "/charter-flights";
      break;
    default:
      console.log("未知的Tab选项ID");
  }
}

方法二:Bootstrap官方API(需引入Bootstrap JS)

如果项目中已经加载Bootstrap的JavaScript,可以通过Tab实例直接获取激活元素:

function Search() {
  // 获取Tab组件实例
  const tabInstance = bootstrap.Tab.getOrCreateInstance(document.getElementById("FlightType"));
  const activeTabBtn = tabInstance._activeElement;
  
  if (activeTabBtn) {
    const selectedTabId = activeTabBtn.id;
    // 跳转逻辑同方法一
  }
}

常见坑点排查

  • 确保Tab按钮的class包含nav-link,父级<ul>需添加nav nav-tabs类(Bootstrap Tab标准结构)
  • 检查页面中是否存在重复ID的元素,这会导致DOM查询失效
  • 确认Search()函数的绑定逻辑正确,没有被其他事件监听覆盖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:10:28