首页 > 解决方案 > 如何使用javascript仅更改所选选项的背景颜色?

问题描述

当用户选择某个选项时,我正在尝试更改背景颜色。我使用仅包含以下内容的 onchange 函数完成了它:

function colorSameValues(select, color){
    for (var i=0; i<selects.length; i++){
        if (selects[i].value ==='') selects[i].style.backgroundColor='';
        if (selects[i].value === select.value) selects[i].style.backgroundColor=color;
    }
}

但它会改变所有选项的背景颜色。

我还在互联网上看到了如何更改所选选项的颜色,但它不会更改显示的选项,就像这里(第一个响应) -选择时更改选项的颜色 - JavaScript

我想为显示的选项着色,当用户单击此选择以查看其他选项时,我希望它们根本不着色。有任何想法吗?

这就是我想要得到的

标签: javascripthtml

解决方案


您必须访问所选选项并更改背景

function a(e)
{
e.options[e.selectedIndex].style.backgroundColor=e.options[e.selectedIndex].textContent;
console.log(e.options[e.selectedIndex].textContent)
}
<select onchange="a(this)">
<option>Red</option>
<option>Blue</option>
<option>Green</option>
</select>


推荐阅读