2016-02-08 48 views
0

jQuery的 - 檢測點擊選項禁用HTML選擇

$(function(){ 
 

 
\t $("select:option").on('click', this, function(event) { 
 
\t \t event.preventDefault(); 
 
\t \t alert("a"); 
 
\t }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="options" id="options"> 
 
    <option value="">Select</option> 
 
    <option value="1">Options 1</option> 
 
    <option value="0" disabled="disabled">Options 2</option> 
 
    <option value="0" disabled="disabled">Options 3</option> 
 
    <option value="0" disabled="disabled">Options 4</option> 
 
</select>

我需要檢查與jQuery,如果用戶在選擇的選項,點擊被禁用,如果用戶單擊顯示一個警報()

實施例:甲選擇幾個選項,在該選擇的選項,有一個0值被禁止,但是如果用戶點擊任何禁用這些選項中,我們表明警報()

<select name="options" id="options"> 
    <option value="">Select</option> 
    <option value="1">Options 1</option> 
    <option value="0" disabled="disabled">Options 2</option> 
    <option value="0" disabled="disabled">Options 3</option> 
    <option value="0" disabled="disabled">Options 4</option> 
</select> 

我將不勝感激您的幫助!

+1

你想讓他們真正地選擇禁用的選項,或只是檢測他們_trying_選擇一個? – GregL

+0

另外,您需要支持的最不現代的瀏覽器是什麼? – GregL

+0

我需要顯示禁用的選項,用戶可以選擇它們,但是如果您嘗試它並選擇其中一個選項爲禁用,則在警報上顯示消息,此類選項不允許出於任何原因...並且適用於所有當前的瀏覽器和電話。 –

回答

3

             
  
$(function(){ 
 
     var options_sel_idx = 0; 
 

 
     $("#options").on("change", this, function(event) { 
 
      if($(this.options[this.selectedIndex]).hasClass("disabled")) { 
 
       alert("a"); 
 
       this.selectedIndex = options_sel_idx; 
 
      } else { 
 
       options_sel_idx = this.selectedIndex; 
 
      } 
 
     }); 
 
    });
<style type="text/css"> 
 
     .disabled {color:#808080;} 
 
    </style> 
 

 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
    <select name="options" id="options"> 
 
     <option value="">Select</option> 
 
     <option value="1">Options 1</option> 
 
     <option value="0" class="disabled">Options 2</option> 
 
     <option value="0" class="disabled">Options 3</option> 
 
     <option value="0" class="disabled">Options 4</option> 
 
    </select>
+0

非常感謝,正是我需要做的。 –