2012-05-07 196 views
1

我有以下幾點:如何使用jQuery從選擇列表中刪除選項?

<select name="CityID" id="CityID"> 
    <option value="99">Select City</option> 
    <option value="01H">AAA</option> 
    <option value="01I">BBB</option> 
</select> 

只要在選擇的點擊來選擇一個選項,我想與選項value="99"刪除第一線。

我可以用jQuery來做到這一點嗎?我認爲我可以通過.changed()這個事件來完成,但是還有其他的事件會在.changed()之前點擊選中的選項嗎?

回答

4
$('select[name="CityID"]').focus(function() { 
    $('option[value="99"]:first', this).remove(); 
}); 
+0

錯字,選擇名稱(和ID)是CityID而不是CityId。 – j08691

+0

這個答案有一個潛在的問題,因爲它假設頁面上沒有其他選項元素,值爲99,這恰好是第一個拉出的元素。如果有多個選擇框,其值爲99,那麼值得注意的是這可能是有問題的。 – jmort253

+0

這是不正確的... $('option [value =「99」]:first',this),「,this」包含選擇元素的選項,重點是 – Bryan

1

布賴恩的答案是正確的;但這裏是不是對每個瀏覽器兼容的替代:

<select name="CityID" id="CityID" required> 
    <option value="" disabled selected >Select City</option> 
    <option value="01H">AAA</option> 
    <option value="01I">BBB</option> 
</select> 

http://jsfiddle.net/ApeHg/2/

選擇元素上的required是HTML5,但它迫使用戶選擇的元素,他們可以提交表單前(您也可以爲舊瀏覽器重新創建此行爲)

第一個元素上的disabled selected屬性嘗試模擬您尋找的行爲,一個不可選的默認行爲。

相關問題
  • 1.