javascript - 如何在 HTML5 中为 'option' 的禁用和选定的 'select' 设置样式

标签 javascript css html

我正在尝试使用“选择”标签的第一个“选项”来提示用户需要输入。因此,如果所选选项被禁用,我希望“选择”框以不同的颜色呈现选择。

因此给出以下代码:

<select>
  <option selected="selected" disabled="disabled">Choose best player...</option>
  <option>Walter Payton</option>
  <option>Jim McMahon</option>
  <option>Mike Singletary</option>
  <option>Richard Dent</option>
  <option>Steve McMichael</option>
  <option>Wilber Marshall</option>
</select>

我希望页面以灰色显示带有“选择最佳玩家...”的下拉菜单,然后如果选择了非禁用选项则更改颜色。

我更喜欢 css 解决方案(如果存在的话),但在谷歌搜索了相当长一段时间后,我开始确信需要一些 JavaScript。有什么简单的解决方案吗?

这是一个 codepen预装了这个。

最佳答案

我认为您需要一些 javascript:

HTML

<select onchange="highlight(this)">
    <option class="invalid" selected="selected" disabled="disabled">Choose best player...</option>
    <option>Walter Payton</option>
    <option>Jim McMahon</option>
    <option>Mike Singletary</option>
    <option>Richard Dent</option>
    <option>Steve McMichael</option>
    <option>Wilber Marshall</option>
</select>

CSS

option.invalid {
    background: #eee;
}

option.valid {
    background: #ff8;
}

JavaScript

function highlight(field){
    field.options[0].className = 'valid';
}

jsFiddle Demo .

关于javascript - 如何在 HTML5 中为 'option' 的禁用和选定的 'select' 设置样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25518776/

相关文章:

html - 我可以使用 :before or :after pseudo-element on an input field? 吗

将数据保存在全局变量中的javascript函数

php - 网站无缝翻译

javascript - 网格组件的嵌套单文件组件问题

javascript - 如何使用 Javascript 根据单选按钮选择更改文本

javascript - 脚本标签属性 - javascript

javascript - JS中通过索引获取所选项目的数组

jquery - 产品轮播

javascript - 条件环境变量摇树

python - 解析 HTML 时如何处理重定向? - Python