Нужно добавить класс к конкретному select в зависимости от выбранного option
Задача вывести статусы операции при выборе определенного option и поменять фон select в зависимости от выбранного статуса. Есть html конструкция
function getSelectValue(e) {
let selectedValue = e.target.value;
if (selectedValue == "pending") {
$('.select__input').addClass('pending');
} else {
$('.select__input').removeClass('pending');
}
if (selectedValue == "completed") {
$('.select__input').addClass('completed');
} else {
$('.select__input').removeClass('completed');
}
if (selectedValue == "canceled") {
$('.select__input').addClass('canceled');
} else {
$('.select__input').removeClass('canceled');
}
}
var list = document.querySelector('.select__input');
list.addEventListener('change', function(e) {
getSelectValue(e)
});
<select class="select__input status__bar">
<option value="pending">В ожидании</option>
<option value="completed">Выполнен</option>
<option value="canceled">Отказ</option>
</select>
Этот вариант работает, но добавляет классы ко всем селекторам .select__input. Обращаться по разным id к select не могу из за специфики приложения. Подскажите пожалуйста как мне добавить классы только к конкретному select в котором производятся изменения.
Источник: Stack Overflow на русском