javascript - 如何使用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
我想为显示的选项着色,当用户单击此选择以查看其他选项时,我希望它们根本不着色。有任何想法吗?
解决方案
您必须访问所选选项并更改背景
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>
推荐阅读
- android - 如何为 ImageView 设置动画,以便一旦它到达屏幕的上端,它就会从屏幕的底端开始显示?
- jquery - 在 jquery 字符串中,我想传递字段值而不是常量作为参数
- pandas - 基于第三列的差异熊猫数据框列的条件
- javascript - 异步等待阻止其他功能运行
- powerbi - 如何以 Excel 格式下载整个 PowerBi 报告
- arrays - 无法过滤另一个数组中的空数组(打字稿)
- java - Jackson 序列化和反序列化 Map
- mysql - sql查询,返回所有比他们认识的人大5岁以上的人
- python - 如何使用python获得回归线上一点的置信区间?
- reactjs - “模板字符串中不允许使用八进制转义序列”错误,当我在 spxf 中进行 gulp 构建时(反应)