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

如何实现并排打开多个Modal模态对话框,现有jQuery代码问题求助

问题解答

第一步:修复现有代码语法错误

你当前提供的代码存在$(document).ready回调函数闭合位置错误的语法问题,修正后的可运行基础代码如下,已标注可选的querySelector写入位置:

<script>
$(document).ready(function () {
    // 位置1:页面DOM加载完成后就需要执行的querySelector逻辑可写在这里
    $('#openBtn').click(function () {
        // 位置2:点击openBtn触发模态框时需要执行的querySelector逻辑可写在这里
        $('#myModal').modal({
            show: true
        })
    });

    $(document).on('show.bs.modal', '.modal', function (event) {
        // 位置3:模态框显示触发逻辑内部需要的querySelector可写在这里
        var zIndex = 1040 + (10 * $('.modal:visible').length);
        $(this).css('z-index', zIndex);
        setTimeout(function () {
            // 位置4:延时回调内部需要的querySelector可写在这里
            $('.modal-backdrop').not('.modal-stack').css('z-index', zIndex - 1).addClass('modal-stack');
        }, 0);
    });
});
</script>

第二步:querySelector放置说明

原生document.querySelector/document.querySelectorAll和你当前用的jQuery选择器功能一致,无需额外依赖,放置规则如下:

  • 核心原则是:需要在哪个业务逻辑里操作DOM元素,就把对应的querySelector写在对应逻辑块的靠前位置即可,前提是要操作的DOM已经完成渲染
  • 如果是页面加载完成就要执行的选择器逻辑,直接写在上述代码标注的位置1即可

使用示例

比如你需要获取用户选择的需求类型来匹配适配产品,就可以按如下方式写:

// 写在位置1的示例:页面加载完成就获取需求选择下拉框元素
const demandSelect = document.querySelector('#demand-type-select');
// 监听用户选择变更事件,筛选适配产品
demandSelect.addEventListener('change', function() {
  const selectedDemand = this.value;
  // 此处编写根据选中需求匹配对应产品的逻辑
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 12:15:04