zoukankan      html  css  js  c++  java
  • 在Bootstrap中得模态框(modal)中下拉不能显示得问题


    $.fn.modal.Constructor.prototype.enforceFocus = function () {
    $("#insertModal").on("shown.bs.modal", function () {
    $("#Ranks_Name").select2({
    dropdownParent: $("#insertModal")
    });
    $("#Role").select2({
    dropdownParent: $("#insertModal")
    });
    })
    $("#updateModal").on("shown.bs.modal", function () {
    $("#Ranks_Name1").select2({
    dropdownParent: $("#updateModal")
    });
    $("#Role1").select2({
    dropdownParent: $("#updateModal")
    });
    })
    };

    在普通页面中使用Select2是正常的,但是在Modal中使用就发现了一些问题,首先如果在页面加载完成后就调用

    $(".select2").select2();是会有问题的,你会发现Modal框中的select显示不正常,正确的做法是要改成

    $("#editModal").on("shown.bs.modal", function(){
                $(".select2").select2();
     })

    这是在Modal显示出来后再初始select2。

    但是又发现另一个问题,如果你的Modal定义是下面这样的

    <div class=" content modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="editModalLabel" aria-hidden="false">

    你会发现select2的输入框不能输入,这时候把tabindex="-1"去掉就可以了。

    还有一个方法是

    在js 内加上下面这句
    $.fn.modal.Constructor.prototype.enforceFocus = function () { };

    经实际验证,tabindex="-1"有时候不一定有效,加上上面这句是可以的

    参考文章http://stackoverflow.com/questions/18487056/select2-doesnt-work-when-embedded-in-a-bootstrap-modal

        https://www.cnblogs.com/sheldon-lou/p/3730905.html

    https://blog.csdn.net/u013126379/article/details/53044933

  • 相关阅读:
    【批处理】for命令
    【批处理】if命令,注释方式
    【批处理】choice命令,call 命令,start 命令,rem
    LoadLibrary加载动态库失败
    编译器如何实现静态变量只初始化一次
    汇编语言中 cs, ds,ss 的区别
    变量在内存中的位置
    call和ret指令
    函数调用
    浮动
  • 原文地址:https://www.cnblogs.com/bhlr/p/8847886.html
Copyright © 2011-2022 走看看