2013-02-19 3 views
0

지금까지 select2 플러그인을 사용해 왔으며 지금까지 완벽했습니다.select2 플러그인이 팝업 내에서 작동하지 않습니다.

데이터를로드하고 잘 작동하는 3 개의 선택 항목과 팝업 내에있는 여러 개의 선택 항목이있는 페이지가 있습니다. 그들은 좋아 보이지만 검색 필드에 쓸 수는 없습니다. 메인 페이지에서 검색이 잘 작동하여 문제가 무엇인지 파악할 수 없으므로 ..

팝업을 위해 blockUI 플러그인을 사용하고 있습니다. 나는 z-index를 시도하고, blockUI 함수에 대한 콜백에서 플러그인을 파괴하고 시작했지만 아무 것도 작동하지 않고 왜 그럴지 모릅니다.


코드 :

<!doctype html> 
<html> 
<head> 
    <title>ff</title> 
    <link type="text/css" rel="stylesheet" href="http://cdn.jsdelivr.net/select2/3.2/select2.css" /> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    <script type="text/javascript" src="http://cdn.jsdelivr.net/select2/3.2/select2.js"></script> 
    <script type="text/javascript" src="http://xiao3meng.googlecode.com/files/jquery.blockUI.js"></script> 
    <script> 
     $(document).ready(function() { 
      $(".startselect").select2(); 

      $('#clickstartpopup').click(function() { 
       $.blockUI({ 
        message: $('#popblock'), 
        onBlock: function() { 
         $(".popupselect").select2(); 

        } 
       }); 
      }); 

     }); 
    </script> 
</head> 
<body> 
<div id="maincontent1" class="maincontent mywebsitepage"> 
    <select class="startselect" id="merchantList"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
    </select> 
</div> 
<div style="clear: both; height: 15px;"></div> 
<span id="clickstartpopup" style="cursor: pointer;color:red;" >click me!</span> 
<div style="height: 300px;background-color: red;display:none;" id="popblock" > 
    <select class="popupselect"> 
    <option value="volvo">Volvo</option> 
    <option value="saab">Saab</option> 
    <option value="mercedes">Mercedes</option> 
    <option value="audi">Audi</option> 
    </select> 
</div> 
</body> 
</html> 
+1

코드 부탁드립니다. – EnterJQ

+0

예제 코드 추가 –

+0

저는 이것을 트위터 부트 스트랩의 모달과 함께 사용했으며, 그 내부에서 작동합니다. 아마 어떤 경우에는 select2 div에 Z- 인덱스를 추가해야하지만, 그 이상은 아닙니다 :) – vladCovaliov

답변

0

이런 일이되는 이유는 선택된/선택 2가 작동하는 방식이다. 실제 네이티브 컨트롤은 아직 있지만 보이지 않게 만들어져 요소를 겹쳐서 사용자가 원하는대로 스타일을 지정할 수 있습니다. 이 경우

는 선택 2 요소는 다음과 같이 #popblock 외부 렌더링 :

<div class="blockUI blockMsg blockPage" style="z-index: 1001; position: fixed; padding: 0px; margin: 0px; width: 30%; top: 40%; left: 35%; text-align: center; color: rgb(0, 0, 0); border: 3px solid rgb(170, 170, 170); background-color: rgb(255, 255, 255); cursor: wait;"> 
    <div style="height: 300px; background-color: red;" id="popblock"> 
     <div class="select2-container popupselect select2-dropdown-open select2-container-active" 
     id="s2id_autogen1"> 
      <a href="#" onclick="return false;" class="select2-choice" tabindex="-1"> <span>Volvo</span><abbr class="select2-search-choice-close" style="display:none;"></abbr> <div><b></b></div></a> 
     </div> 
     <select class="popupselect" style="display: none;"> 
      <option value="volvo"> 
       Volvo 
      </option> 
      <option value="saab"> 
       Saab 
      </option> 
      <option value="mercedes"> 
       Mercedes 
      </option> 
      <option value="audi"> 
       Audi 
      </option> 
     </select> 
    </div> 
</div> 
<div class="select2-drop select2-with-searchbox select2-drop-active" style="top: 337px; left: 692px; width: 76px;"> 
    <div class="select2-search"> 
     <input type="text" autocomplete="off" class="select2-input" style=""> 
    </div> 
    <ul class="select2-results"> 
     <li class="select2-results-dept-0 select2-result select2-result-selectable select2-highlighted"> 
      <div class="select2-result-label"> 
       <span class="select2-match"> 
       </span> 
       Volvo 
      </div> 
     </li> 
     <li class="select2-results-dept-0 select2-result select2-result-selectable"> 
      <div class="select2-result-label"> 
       <span class="select2-match"> 
       </span> 
       Saab 
      </div> 
     </li> 
     <li class="select2-results-dept-0 select2-result select2-result-selectable"> 
      <div class="select2-result-label"> 
       <span class="select2-match"> 
       </span> 
       Mercedes 
      </div> 
     </li> 
     <li class="select2-results-dept-0 select2-result select2-result-selectable"> 
      <div class="select2-result-label"> 
       <span class="select2-match"> 
       </span> 
       Audi 
      </div> 
     </li> 
    </ul> 
</div> 

만 검색 바가 작동하지 않을 것 이유는, 검색 창은 전용 UI 제어 있다는 것을 네이티브 대응 물이 없다.