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

如何使用Javascript为Bootstrap 5下拉菜单动态追加内容?

Bootstrap 5 动态年份下拉菜单实现方案

场景1:表单内年份选择

完全使用Bootstrap 5原生form-select组件,样式100%适配,无错位问题。

HTML代码

<select class="form-select" id="yearSelect" aria-label="年份选择"></select>

JS逻辑

const yearSelect = document.getElementById('yearSelect');
const currentYear = new Date().getFullYear();
const displayYearNum = 10; // 自定义展示的年份总数

// 示例为展示从当前年份开始往前10年的序列,如需展示未来年份,将减法改为加法即可
for (let i = 0; i < displayYearNum; i++) {
  const targetYear = currentYear - i;
  const optionItem = document.createElement('option');
  optionItem.value = targetYear;
  optionItem.textContent = targetYear;
  // 如需默认选中今年,添加以下代码
  // if (i === 0) optionItem.selected = true;
  yearSelect.appendChild(optionItem);
}

场景2:按钮式下拉菜单

完全遵循Bootstrap 5 dropdown组件DOM结构,样式和交互均和官方组件一致。

HTML代码

<div class="dropdown">
  <button class="btn btn-primary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false" id="yearDropdownBtn">
    选择年份
  </button>
  <ul class="dropdown-menu" id="yearDropdownList"></ul>
</div>

JS逻辑

const yearDropdownList = document.getElementById('yearDropdownList');
const yearDropdownBtn = document.getElementById('yearDropdownBtn');
const currentYear = new Date().getFullYear();
const displayYearNum = 10;

for (let i = 0; i < displayYearNum; i++) {
  const targetYear = currentYear - i;
  const li = document.createElement('li');
  const dropdownItem = document.createElement('button');
  dropdownItem.className = 'dropdown-item';
  dropdownItem.type = 'button';
  dropdownItem.textContent = targetYear;
  // 点击后切换按钮显示文本
  dropdownItem.addEventListener('click', () => {
    yearDropdownBtn.textContent = targetYear;
    // 此处可添加年份选中后的自定义业务逻辑
  });
  li.appendChild(dropdownItem);
  yearDropdownList.appendChild(li);
}

注意事项

  • 不要修改Bootstrap 5原生组件的默认类名和DOM层级结构,否则会出现样式错位、交互失效问题
  • 可以自行调整displayYearNum参数修改展示的年份总数,修改循环中的加减逻辑即可切换展示历史年份/未来年份
  • 确保页面已经正确引入Bootstrap 5的CSS和JS文件,Dropdown组件无需额外初始化即可正常工作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:45:04