[英]because of 'multiple' attribute background color gets changed to grey
.selected_aq{
background:#47D6EB !important;
color : #fff;
}
<select id="abc" multiple="multiple">
<option value="Customer 1" class="selected_aq">Customer 1</option>
<option value="Customer 1" class="selected_aq">Customer 1</option>
</select >
for (x=0;x<list.options.length;x++){
if (list.options[x].selected){
$(list.options[x]).addClass('selected_aq');
}
由于“多个”属性背景颜色变为灰色,但仅限于最后选择的“选项”。
您只能使用CSS
select[multiple]:focus option:checked { background: #47D6EB linear-gradient(0deg, #47D6EB 0%, #47D6EB 100%); color : #fff; }
<select id="abc" multiple="multiple"> <option value="Customer 1" >Customer 1</option> <option value="Customer 2" >Customer 2</option> <option value="Customer 3" >Customer 3</option> <option value="Customer 4" >Customer 4</option> <option value="Customer 5" >Customer 5</option> <option value="Customer 6" >Customer 6</option> </select >
尝试通过按住Ctrl按钮选择多个选项。
事实上,您正在使用background:#47D6EB
设置此灰色background:#47D6EB
您的类selected_aq
background:#47D6EB
并且您已经将此类设置为所有options
,因此它将应用于所有选项。
并且您不需要JavaScript来执行此操作,您可以使用CSS :checked selector :
select[multiple]:focus option:checked {
background: #47D6EB linear-gradient(0deg, #47D6EB 0%, #47D6EB 100%);
}
演示:
select[multiple]:focus option:checked { background: #47D6EB linear-gradient(0deg, #47D6EB 0%, #47D6EB 100%); }
<select id="abc" multiple="multiple"> <option value="Customer 1" >Customer 1</option> <option value="Customer 2" >Customer 2</option> </select>
有关详细信息,请查看:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.