2016-08-19 90 views
0

我試圖重置另一個select2當select2-removed事件被觸發但我只能影響其他dom元素。我想在第一個select2值被刪除時禁用第二個select2。這是我的代碼,「我做錯了什麼?我的select2版本是3.5。提前致謝。Select2 select2-removed事件不會影響其他select2

$('#element_select2_1').on("select2-removed", function (e) { 
     $('#dom_element').attr('disabled', 'disabled'); 
     $('#another_dom_element').attr('disabled', 'disabled'); 

     $('#element_select2_2').select2('disable'); 
}); 

回答

0

我找不到任何實際的文檔「選擇2 - 刪除」的任何地方,那是你的事件?所以,我創建了一些代碼,將創建兩個select2s,創建一個按鈕。在第一個選擇2上註冊一個select2 destroy事件,並銷燬一個觸發事件的selec2按鈕。觸發的事件禁用第二個select2。這是你想要做的嗎?

  <script> 
       $(function ($) { 
        // first select2 
        $("#sel1").select2(); 
        // second select2 
        $("#sel2").select2(); 
        // register event to detect select2 being destroyed 
        $("#sel1").next(".select2-container").on("remove", function() { $("#sel2").prop("disabled", true); }) 

        // button that destroys the select2 triggering the event 
        $("#btn").button().click(function() { 

          $("#sel1").select2("destroy"); 

        }); 
       }) 
      </script> 
     </head> 
     <body> 
      <form> 
       <select tabindex="0" id="sel1" aria-hidden="false"> 
        <option value="AQ">Antarctica</option> 
        <option value="AI">Anguilla</option> 
        <option value="AG">Antigua and Barbuda</option> 
        <option value="AR">Argentina</option> 
        <option value="AM">Armenia</option> 
        <option value="AW">Aruba</option> 
       </select><br /> 
       <select id="sel2"> 
        <option value="BS">Bahamas</option> 
        <option value="BH">Bahrain</option> 
        <option value="BD">Bangladesh</option> 
        <option value="BB">Barbados</option> 
        <option value="BY">Belarus</option> 
        <option value="BE">Belgium</option> 
        <option value="BZ">Belize</option> 
       </select><br /> 
       <button id="btn" type="button">remove</button> 

      </form> 
     </body>