Я пытаюсь создать текстовое поле ввода, и когда в текстовое поле вводятся такие значения, как 1, 2, 3, цвет фона текстового поля изменится на красный, желтый и зеленый соответственно. Я нашел подсказку здесь но не смог получить желаемый результат (условный формат). Не так хорошо в js, поэтому любая помощь будет высоко оценена
Пожалуйста, добавьте код, который вы пробовали, к своему вопросу.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Есть много способов, но это один из способов, как вы могли бы это сделать:
const colors = document.querySelectorAll('.colors');
for (let color of colors) {
color.addEventListener('keyup', () => {
if (this.event.target.value == 1) {
this.event.target.style.backgroundColor = 'red';
}
else if (this.event.target.value == 2) {
this.event.target.style.backgroundColor = 'yellow';
}
else if (this.event.target.value == 3) {
this.event.target.style.backgroundColor = 'green';
}
else {
this.event.target.style.backgroundColor = 'inherit';
}
})
}<input type = "text" class = "colors">
<input type = "text" class = "colors">
<input type = "text" class = "colors">Большое спасибо за то, что поделились альтернативным кодом. Тоже работает :)
Как я могу сделать это для нескольких полей ввода? если полей более 100
@ ABS2019 Я изменил код. Если это помогло вам, отметьте этот ответ как решенный.
Метод-01:
Использование выключатель:
HTML:
<input type = "number" id = "color" />
JS:
function changeColor(e){
var color;
switch(e.target.value){
case 1:
color = "red";
break;
case 2:
color = "yellow";
break;
case 3:
color = "green";
break;
default:
color = "white";
}
e.target.style.backgroundColor = color;
}
document.getElementById("color").addEventListener("input", changeColor);
Метод-02:
Использование если еще:
HTML:
<input type = "number" id = "color" />
JS:
function changeColor(e){
var value = e.target.value;
var color;
if (value == 1){
color = "red";
}
else if (value == 2){
color = "yellow";
}
else if (value == 3){
color = "green";
}
else {
color = "white";
}
e.target.style.backgroundColor = color;
}
document.getElementById("color").addEventListener("input", changeColor);
Большое спасибо за предоставленный код. Оно работает!! Спасибо
Вот так -> jsfiddle.net/zcwf1mtg