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

iziModal中使用Select2出现选择框重复无法点击或无选项如何解决?

问题原因
  • 重复初始化:你将iziModal、Select2的初始化逻辑都放在了showModal函数内,每次触发弹窗时都会重复执行初始化逻辑,多次生成Select2实例对应多个DOM节点,就会出现重复选择框的问题。
  • 类名绑定错误:你尝试用.Select2(大写S开头)初始化时,该类名是Select2组件自身渲染生成的容器类,并非你原始<select>标签绑定的类,绑定错误导致无法关联原有option选项,自然点击后无内容展示。
解决步骤

1. 调整初始化逻辑

将iziModal的初始化放到全局仅执行一次,同时利用iziModal的生命周期回调处理Select2的初始化和销毁,避免重复渲染:

// 页面加载完成后全局初始化一次iziModal
$(document).ready(function () {
  $("#myIziModal").iziModal({
    title: "info",
    // 模态框完全打开后再初始化Select2
    onOpened: function () {
      // 先销毁已存在的Select2实例,避免重复渲染
      if ($('.mySelect2').hasClass('select2-hidden-accessible')) {
        $('.mySelect2').select2('destroy');
      }
      // 初始化Select2
      $('.mySelect2').select2({
        dropdownParent: $('#myIziModal'),
        width: '150px'
      });
    },
    // 模态框关闭时销毁Select2实例,释放资源
    onClosed: function () {
      if ($('.mySelect2').hasClass('select2-hidden-accessible')) {
        $('.mySelect2').select2('destroy');
      }
    }
  });
});

// 弹窗触发函数仅保留打开逻辑
function showModal() {
  $("#myIziModal").iziModal('open');
}

2. 可选:层级适配

如果调整后仍出现点击选择框无选项展示的问题,大概率是Select2下拉框的层级低于iziModal,添加以下CSS调整层级即可:

.select2-container--open {
  z-index: 99999 !important;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:00:02