使选择框中的选项变为淡化/不可点击

3
我有一个普通的HTML选择下拉框。
<select id="day" name="day">
<option value="0">All</option>
<option value="1">Mon</option>
<option value="2">Tue</option>
<option value="3">Wed</option>
<option value="4">Thu</option>
<option value="5">Fri</option>
</select>

但有时我想让某些选项无法被点击,例如,如果可能的话,将文本稍微淡化,然后如果选择了文本/值,则不会发生任何事情。

有人知道怎么做吗?

我正在用PHP编写我的页面。


1
哦,你想禁用选项,而不是整个选择框。我删除了我的答案,因为我误解了问题。 - Vincent Ramdhanie
我之前写了一个jQuery的解决方案,如果可以接受的话。不幸的是,我没有纯JS的解决方法。 - Neil Aitken
3个回答

4

只需给选项标签添加一个'disabled'属性即可。

<select>
<option value="1" disabled>1</option>
<option value="2">2</option>
</select>
在这个例子中,数字1将会被淡化并且无法选择,但是数字2可以被选择。

我正在使用IE7,但它无法正常工作。有人知道替代方案或如何解决这个问题吗? - thegunner
1
这不是有效的XTML,如果你声明你的页面是这样的话。使用disabled="disabled"代替。浏览器可能会正确地呈现它(除了IE和其他一些浏览器),但它可能会在某些地方引起问题。 - carillonator

3

好的,谢谢大家。我希望很快就能浏览一下这个。看起来这将是解决方案。 - thegunner

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,