在BootStrap的modal中使用Select2
在普通页面中使用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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步