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

如何实现同一时间仅一个多选下拉菜单处于展开状态

实现方案

你需要分别监听Bootstrap SelectPicker组件和原生select两类控件的展开事件,触发时主动关闭另一类的展开状态即可实现互斥展开,具体实现代码如下:

// 监听Bootstrap SelectPicker展开事件,触发时关闭原生select
$('#list2_items').on('show.bs.select', function() {
  // 原生select失焦会自动收起下拉
  document.getElementById('2').blur();
});

// 监听原生select点击事件,触发时关闭Bootstrap SelectPicker
document.getElementById('2').addEventListener('click', function() {
  // 调用Bootstrap Select官方提供的收起方法
  $('#list2_items').selectpicker('hide');
});

// 可选补充:点击页面空白区域自动收起所有下拉
$(document).on('click', function(e) {
  if (!$(e.target).closest('.dropdown-check-list, .form-dropdown').length) {
    $('#list2_items').selectpicker('hide');
    document.getElementById('2').blur();
  }
});
  • 代码说明:
    • 完全适配你现有代码中两个下拉的ID,直接插入页面脚本即可生效
    • 用到的show.bs.select事件、selectpicker('hide')方法都是Bootstrap Select官方提供的标准能力,原生select失焦自动收起是浏览器默认行为,兼容性有保障

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:54:05