2016-12-19 142 views
1

我有這個下拉列表。隱藏先前選擇的選項從一個選擇

<select id="dDown"> 
    <option value="a">a</option> 
    <option value="b">b</option> 
    <option value="c">c</option> 
</select> 

如果我第一次選擇b,下一次我點擊相同dDown,唯一的選項將顯示應ac。如果我選擇a,則下一個dDown選項應該是bc

這怎麼可能?

回答

3

禁用所選的選項

$("#dDown").change(function() { 
 
    $("option", this).prop("disabled", false) 
 
    $("option:selected", this).prop("disabled", true) 
 

 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="dDown"> 
 
    <option value="a">a</option> 
 
    <option value="b">b</option> 
 
    <option value="c">c</option> 
 
</select>

隱藏所選擇的選項

$("#dDown").change(function() { 
 
    $("option", this).show() 
 
    $("option:selected", this).hide() 
 

 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="dDown"> 
 
    <option value="a">a</option> 
 
    <option value="b">b</option> 
 
    <option value="c">c</option> 
 
</select>

如果要隱藏,可以使用.prop()來禁用該選項或使用.hide()。

+1

我也在考慮禁用選項。 [演示](https://jsfiddle.net/f1x5p6a1/)。您需要在選擇其他選項時再次啓用它。隱藏/表演也是一樣。 – Tushar

+0

Tushar的作品,但IE不喜歡這種'隱藏'的方法。我需要進一步探索。謝謝你,這對我來說意義重大。 – Kewn101

+0

感謝@Guradio對此進行調查。感謝你的幫助。我現在正在尋找一些方法來處理IE瀏覽器上的hide()。 – Kewn101