用空值替换选项

时间:2013-02-11 10:51:40

标签: javascript jquery html html5

假设我们在html选择中有三个选项 即选择,男,女。 点击后我想用“”替换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/运行它 请提供解决方案

5 个答案:

答案 0 :(得分:0)

你可以这样做:

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

Demonstration

我添加了focus事件,因为我认为您希望尽快进行更改(仅click不会出现这种情况)。

答案 1 :(得分:0)

试试这个:

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

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

});

答案 2 :(得分:0)

为什么不试试这个:

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

答案 3 :(得分:0)

我想你想要这样的东西

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

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

});  

答案 4 :(得分:-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; }