Есть простенький скрипт по присваиванию класса селекту, но таких селектов на странице несколько, соответственно, если я меняю option у одного, класс присваивается всем селектам на странице. Как сделать так, что бы класс добавлялся только конкретному селекту с которым я взаимодействую в данный момент? Так же приму к сведению улучшение читаемости кода.
код ниже:
$(".currency-type").change(function(){
if($(this).val() == 1){
$(".currency-type").addClass('currency-usd');
$(".currency-type").removeClass('currency-eur currency-rub currency-chf currency-gbp');
}
else {
$(".currency-type").removeClass('currency-usd');
}
if($(this).val() == 2){
$(".currency-type").addClass('currency-eur');
$(".currency-type").removeClass('currency-usd currency-rub currency-chf currency-gbp');
}
else {
$(".currency-type").removeClass('currency-eur');
}
if($(this).val() == 3){
$(".currency-type").addClass('currency-rub');
$(".currency-type").removeClass('currency-usd currency-eur currency-chf currency-gbp');
}
else {
$(".currency-type").removeClass('currency-rub');
}
if($(this).val() == 4){
$(".currency-type").addClass('currency-gbp');
$(".currency-type").removeClass('currency-usd currency-rub currency-chf currency-eur');
}
else {
$(".currency-type").removeClass('currency-gbp');
}
if($(this).val() == 5){
$(".currency-type").addClass('currency-chf');
$(".currency-type").removeClass('currency-usd currency-rub currency-gbp currency-eur');
}
else {
$(".currency-type").removeClass('currency-chf');
}
});
UPD: Так-с, возникла теперь другая беда если использовать (this). Так как я использую стилизацию селекта, то плагин скрывает дефолтный селект и ставит свой див с классом селекта и классом плагина (.nice-select). По коду я вижу, что при изменении классы присваиваются, но они присваиваются данному селекту, который скрыт, а плагиновский блок, так и остается висеть сам по себе без изменений.