Вы не можете использовать color: red;
для параметров просто так.
Способ go сделать это - установить параметр :invalid
. И чтобы это работало, вы должны установить <select>
как обязательно .
Попробуйте это:
select.form-control option{
color: black;
}
select.form-control:invalid {
color: red;
}
<select class="form-control" required>
<option value="" hidden="">Select Month</option>
<option value="JAN">JAN</option>
<option value="FEB">FEB</option>
<option value="MAR">MAR</option>
</select>
пс: Единственный минус в том, что это делает это <select>
необходимым ощущением. Так что если в вашем случае это не обязательное поле, то этот ответ не сработает для вас.
Но лучшим решением будет использование jQuery и достижение этого :
Решение 2
$(".form-control").change(function(){
var x = $( ".form-control option:selected" ).val();
if(x!="") {
$("select").css("color","black");
} else {
$("select").css("color","red");
}
});
select {
color: red;
}
option {
color: black;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control">
<option value="" hidden="">Select Month</option>
<option value="JAN">JAN</option>
<option value="FEB">FEB</option>
<option value="MAR">MAR</option>
</select>
В этом ответе вам не нужно устанавливать это поле как обязательное , так, как вы хотели.