在Bootstrap中的Modal,select2插件會有不顯示,由於其z-index小於modal,還有另一個問題是,修正z-index以後,select2不會自動失去焦點的問題。代碼解決以下:javascript
<style> /*select2在Bootstrap的modal中默認被遮蓋,如今強制顯示在最前*/ .select2-drop { z-index: 10050 !important; } .select2-search-choice-close { margin-top: 0 !important; right: 2px !important; min-height: 10px; } .select2-search-choice-close:before { color: black !important; } /*防止select2不會自動失去焦點*/ .select2-container { z-index: 16000 !important; } .select2-drop-mask { z-index: 15990 !important; } .select2-drop-active { z-index: 15995 !important; }
由於modal多是後生成的,因此綁定select2事件時,應該先指定其父元素:java
$(function(){ $("#PaymentId").select2({ placeholder: "--請選擇--", dropdownParent: $("#myModal"), allowClear: true }); });
在彈出modal裏面是單選select2的時候,我遇到過沒法輸入的問題,這個時候,只須要把Modal上的tabindex屬性刪除就好了,(remove tabindex="-1" from modal)插件