在除 IE9 之外的所有主要浏览器中,它会将禁用选项的文本着色为红色此代码:
<option disabled='disabled' class='red' value=''>No Students available to take up Assessment</option>
...
//CSS
.red{
color:red;
}
但在 IE 中,它不会改变文本颜色,它保持灰色禁用颜色。如何在 IE9 中更改禁用的颜色?
在除 IE9 之外的所有主要浏览器中,它会将禁用选项的文本着色为红色此代码:
<option disabled='disabled' class='red' value=''>No Students available to take up Assessment</option>
...
//CSS
.red{
color:red;
}
但在 IE 中,它不会改变文本颜色,它保持灰色禁用颜色。如何在 IE9 中更改禁用的颜色?
也许在 CSS 中使用属性选择器?
option:disabled,
option[disabled] {
color: red;
}
像这样的东西?
select :disabled.red {
color: red;
}
这是来自 Microsoft的关于:disabled
伪类的文档。
这是一个应该在 IE9 及更高版本中工作的小提琴。
更新:这似乎只适用于 IE>8。这个答案指出了在表单元素上使用 readonly 属性的解决方法。不过,这不是选项标签的选项。
周围有适用于旧 IE 的 JavaScript 解决方法。一个简单的谷歌搜索把我带到了这个提供 jQuery 解决方案的网站。
从博客:
通过添加一点 css 样式魔法,您最终会在所有其他现代浏览器中得到相同的结果。
然后,您可以使用 javascript 启用和禁用。许多人编写的代码使选项看起来像被禁用,等待单击选项元素然后模糊它或聚焦下一个/先前选择的选项以使其表现得像被禁用。
我想出了与 jQuery 一起使用的函数,通过将其转换为 optgroup 并返回来禁用/启用选择选项。它在 firefox 2 & 3, safari 3, 即 6 + 7 中测试,它在 Opera 9 中工作(虽然 opgroups 跳到底部)