如何改变一个选定的选项的字体/背景颜色永久地与纯JavaScript

问题描述 投票:0回答:1

我要求后用户完成选择所选择的选项的字体/背景色永久变更为例如红色/黄色。

约束:

  • 代码必须在IE11工作。
  • 没有jQuery的。纯JS。
  • 形式有ID。选择,选项,不用ID。
  • 形式有几十选择的。
  • 解决方案并不一定是内联JS。
  • 如果是为了解决方案是必须的,我可以添加类来选择和/或选项。

作为一个例子假定“健康”是从下面选定的。因此,“健康”应该被视为红色/黄色选择完成后,并在页面点击到空间

我不知道JS。我想下面和IE11没有工作。浏览器JS启用。我无法找到一个现有的Q / A合适我。

<form id="myform" name="myform" method="post" accept-charset="utf-8">
    <select name="select1" onchange="this.options[this.selectedIndex].style.color='red'">
        <option value="0">Select</option>
        <option style="color:#333;" value="1">Health</option>
        <option value="2">Wisdom</option>
</form>
  • 为什么我的审判没有工作?
  • 如何使它发挥作用,同时满足我的限制?

这里是jsbin链接:https://jsbin.com/hubigarofa/1/edit?html,output

感谢和问候

javascript select colors option selected
1个回答
1
投票

制作一个单独的功能和呼叫使用这个元素传递给函数

function a(elem)
{
document.querySelector('select').style.backgroundColor = ""
document.querySelector('select').style.color = ""
elem.options[elem.selectedIndex].style.color='red'
if(elem.value=="1")
{

document.querySelector('select').style.backgroundColor = "yellow"
document.querySelector('select').style.color = "red"
}
}
<form id="myform" name="myform" method="post" accept-charset="utf-8">
    <select name="select1" onchange="a(this)">
        <option value="0">Select</option>
        <option style="color:yellow;" value="1">Health</option>
        <option value="2">Wisdom</option>
</form>
© www.soinside.com 2019 - 2024. All rights reserved.