更改 select 背景以匹配 selected 选项背景
Change select background to match selected option background
我这里有一个简单的查询:
我构建了一个简单的 select,有 2 种不同的颜色可供选择:红色和绿色。
.green { color: #217A23; }
.red { color: #AA0000; }
<select id="select">
<option class='green'>green</option>
<option class='red'>red</option>
</select>
我希望 select 关闭时的文本与 selected 文本的颜色相匹配。
因此,在下拉列表中 select 变为绿色后,我希望 select 文本也为绿色。现在,我可以 select 绿色文本,但是当菜单关闭时,"green" 这个词仍然是黑色的。
这需要 jQuery 做吗?
使用以下代码:
$("#select").on('change',(e)=>{
// to make backgroud color
$('body').css({background:e.target.value});
$(e).removeClass().addClass($(e).find("option:selected").attr("class"););
})
在此处输入代码
您可以这样做,使用您现有的 类:
$("select").change(function() {
let color = $(this).find("option:selected").attr("class");
$(this).removeClass().addClass(color);
})
.green_bg { background-color: #217A23; }
.red_bg { background-color: #AA0000; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="select">
<option>Select</option>
<option class='green_bg'>green</option>
<option class='red_bg'>red</option>
</select>
我这里有一个简单的查询:
我构建了一个简单的 select,有 2 种不同的颜色可供选择:红色和绿色。
.green { color: #217A23; }
.red { color: #AA0000; }
<select id="select">
<option class='green'>green</option>
<option class='red'>red</option>
</select>
我希望 select 关闭时的文本与 selected 文本的颜色相匹配。
因此,在下拉列表中 select 变为绿色后,我希望 select 文本也为绿色。现在,我可以 select 绿色文本,但是当菜单关闭时,"green" 这个词仍然是黑色的。
这需要 jQuery 做吗?
使用以下代码:
$("#select").on('change',(e)=>{
// to make backgroud color
$('body').css({background:e.target.value});
$(e).removeClass().addClass($(e).find("option:selected").attr("class"););
})
在此处输入代码
您可以这样做,使用您现有的 类:
$("select").change(function() {
let color = $(this).find("option:selected").attr("class");
$(this).removeClass().addClass(color);
})
.green_bg { background-color: #217A23; }
.red_bg { background-color: #AA0000; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="select">
<option>Select</option>
<option class='green_bg'>green</option>
<option class='red_bg'>red</option>
</select>