2011-09-14 67 views
6

我在想,是不是可以显示默认为所选的选项“中选择一个”,但是从选项列表中隐藏当用户点击打开选择菜单?我的意思是,像文本输入字段placeholder。无论如何要用js或其他东西来做到这一点?在此先感谢选择菜单中的“假”选项

UPDATE

比方说,我们有选择菜单

<select> 
<option value"">Select one...</option> 
<option value"1">Option 1 </option> 
... 
</select> 

我知道该怎么做的是,从选项列表中,当用户打开菜单中删除<option value"">Select one...</option>,并返回到默认用户关闭菜单时的状态。

+0

你可以提供一个更好的例子 - 你的问题没有得到很好的答案*因为它不是足够清晰* –

+0

我的意思是,当删除用户点击打开选择菜单,并返回当用户关闭到出厂设置状态这个选项。清楚吗? –

+0

不,它不明确,你应该点击“编辑”来改进和澄清你的问题举一个例子。 –

回答

4

也许是这样的:

<SELECT NAME="browser" VALUE="" 
    onchange="var opt=this.options[0];if(opt.getAttribute('role')==='placeholder'&&!opt.selected)opt.parentNode.removeChild(opt);"> 
    <option role="placeholder" value="">Which Web browser do you use most often?</option> 
    <OPTGROUP LABEL="Firefox"> 
     <OPTION LABEL="2.0 or higher"> 
     Firefox 2.0 or higher 
     </OPTION> 
     <OPTION LABEL="1.5.x">Firefox 1.5.x</OPTION> 
     <OPTION LABEL="1.0.x">Firefox 1.0.x</OPTION> 
    </OPTGROUP> 
    <OPTGROUP LABEL="Microsoft Internet Explorer"> 
     <OPTION LABEL="7.0 or higher"> 
     Microsoft Internet Explorer 7.0 or higher 
     </OPTION> 
     <OPTION LABEL="6.x">Microsoft Internet Explorer 6.x</OPTION> 
     <OPTION LABEL="5.x">Microsoft Internet Explorer 5.x</OPTION> 
     <OPTION LABEL="4.x">Microsoft Internet Explorer 4.x</OPTION> 
    </OPTGROUP> 
    <OPTGROUP LABEL="Opera"> 
     <OPTION LABEL="9.0 or higher">Opera 9.0 or higher</OPTION> 
     <OPTION LABEL="8.x">Opera 8.x</OPTION> 
     <OPTION LABEL="7.x">Opera 7.x</OPTION> 
    </OPTGROUP> 
    <OPTION>Safari</OPTION> 
    <OPTION>Other</OPTION> 
    </SELECT> 

OPTION自定义标签role="placeholder"必须先放入里面SELECT正常工作。

+0

已更新的问题。请查看 –

+0

yepp。类似的东西。但是,我们能否关闭这个选项,以及如何在页面刷新后将菜单返回到默认状态? –

+0

我们可以用'.append()','.remove()'来做到吗? –

2

像这样的东西?

<form> 
<select onchange="document.getElementById('placeholder').disabled=true"> 
    <option selected="selected" id="placeholder">please select something</option> 
    <option value="1">1</option> 
    <option value="2">2</option> 
    <option value="3">3</option> 
</select> 
</form> 

在此示例中,该选项对用户保持可见,但不可点击。

+0

没有。当用户单击以打开选择菜单并在用户关闭菜单时返回到默认状态时,请删除此选项。清楚吗? –

+0

已更新的问题。请看看 –

+0

也许'onfocus' /'onblur'呢? onfocus删除节点,onblur再次绑定它。但是,当用户点击菜单后,删除“假”选项后,他无法再次选择该“假”选项(因为任何时候他再次点击该选项,该选项被删除),那么为什么你想要做那? –