2013-02-11 80 views
1

假設我們在html選擇 即select,Male,Female中有三個選項。 點擊我想用「」取代select。用空值替換選項

我試過下面的代碼。

<select id="ageID"> 
    <option value="none" >loading...</option> 
    <option value="one" >one</option> 
    <option value="two">two</option> 
    <option value="three">three</option> 
</select> 

$("#ageID").on("click",function(){ 

    $(this).children().first().remove(); 
    $(this).children().first().before(" <option value='none' > </option>"); 

}); 

它在谷歌瀏覽器上完美工作,但不是在Mozilla或IE。 你可以嘗試使用http://jsfiddle.net/ 請提供一個解決方案

+0

請說明哪些項目沒有FF/IE工作。 – 2013-02-11 10:53:19

+0

爲什麼在點擊時刪除「加載...」,而不是在加載完成時加載完成? – 2013-02-11 11:05:06

+0

我無法在FF中選擇新添加的選項(空值)。並在IE中,下拉菜單出現幾秒鐘,然後消失 – prakash 2013-02-11 11:55:27

回答

0

你可以做到這一點運行:

$("#ageID").on("click focus",function(){ 
    this.options[0].text=''; 
}); 

Demonstration

我加入了focus事件,因爲我以爲你想做成與變化儘快(只有click纔會這樣)。

+0

這適用於FF,但不適用於chrome – prakash 2013-02-11 11:56:51

+0

@prakash我在Chrome中測試它。你有什麼問題(和版本的鉻)? – 2013-02-11 12:03:12

+0

抱歉它在FF中有效。不在IE中。下拉菜單在一小部分時間內出現並消失 – prakash 2013-02-11 12:50:11

0

試試這個:

$("#ageID").on("click",function(){ 

    $(this).children().first().remove(); 
    $(this).children().first().before('<option value="none"> </option>'); 

}); 
-1

你可以用簡單的CSS模仿這樣的:

小提琴:http://jsfiddle.net/E4ah9/

HTML

<select id="ageID"> 
    <option value="none" disabled selected class="placeholder">loading...</option> 
    <option value="one" >one</option> 
    <option value="two">two</option> 
    <option value="three">three</option> 
</select> 

CSS

.placeholder { display: none; } 
+1

不適合我。 – 2013-02-11 10:59:35

+0

它不立即刪除第一個項目,但選擇一個項目後,「佔位符」不再可用,這是什麼被問(如果我正確解釋問題) – 2013-02-11 11:01:54

0

爲什麼不試試這個:

$("#ageID").on("click",function(){ 
    $('option:first',this).text(''); 
}); 
0

我想你想是這樣的

$("#ageID").on("click",function(){ 

    $(this).children().first().remove(); 
    $(this).prepend("<option value='' ></option>"); 

}); 
+0

這也不工作FF – prakash 2013-02-11 12:49:04

+0

你試過清洗firefox/IE緩存? – writeToBhuwan 2013-02-11 12:52:31