Изменение цвета текста выбранной отключенной опции - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть следующий код:

select option:disabled:checked {
  color: grey;
}
<select>
  <option selected disabled>Initial Option</option>
  <option>One</option>
  <option>Two</option>
</select>

Он успешно выбрал нужный элемент .Однако проблема заключается в следующем: Я хочу изменить цвет текста отключенного параметра при его выборе (то есть, когда мы впервые загружаем страницу).В настоящее время я вижу только цвет grey , который я применил, когда выбираю другой вариант в раскрывающемся списке выбора .Я хочу, чтобы начальный выбранный цвет был grey, чтобы указать, что пользователь все еще должен выбрать другой вариант.Как мне этого добиться?

Ответы [ 3 ]

0 голосов
/ 21 февраля 2019

Я добавил jQuery, чтобы добавить класс к выбранной опции.Попробуйте это:

function selectOption() {
  var x = $('#select-dropdown').val()
  $('#select-dropdown option[value='+ x+']').attr("selected", true).attr("disabled", true)
}
select option:disabled:checked {
  color: grey;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select id="select-dropdown" onChange="selectOption()">
  <option selected disabled>Initial Option</option>
  <option value="One">One</option>
  <option value="Two">Two</option>
</select>
0 голосов
/ 21 февраля 2019

Это моя идея для вашей проблемы, попробуйте это

$(document).ready(function(){
   $('#MySelect').val('Zero').change();   
});


$('#MySelect').on('change',function(){
   $($(this)).css("color", $(this).find("option").css('color','black'));
   
   var color = $(this).find("option[value="+$(this).val()+"]").attr('optioncolor');
   $($(this)).css("color", color);
   $($(this)).css("color", $(this).find("option[value="+$(this).val()+"]").css('color',color));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
 
 <select id="MySelect">
   <option value="Zero" selected optioncolor="red" >Zero</option>
   <option value="One" optioncolor="green">One</option>
   <option value="Two" optioncolor="yellow">Two</option>
 </select>

Пример CodePen

0 голосов
/ 21 февраля 2019

Попробуйте это:

.checked {
    color:green
 }


 <select>
   <option style="color:grey">Initial Option</option>
   <option class="checked">One</option>
   <option class="checked">Two</option>
 </select>
...