Не работает оператор switch
Пишет "undefined". В чём ошибка?
<select size="4" id="season">
<option disabled>Выберите</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<script>
var season=document.getElementById('season').value;
var result;
switch (true) {
case 1:
result = ['Зима'];
break;
case 2:
result = ['Весна'];
break;
case 3:
result = ['Лето'];
break;
case 4:
result = ['Осень'];
break
}
alert(result);
</script>
Ответы (1 шт):
Автор решения: meine
→ Ссылка
var season = document.getElementById('season').value;
var result;
// Преобразуем строкове значение value селекта season в числовое, путём конвертации с помощью оператора '+'
switch (+season) {
case 1:
result = ['Зима'];
break;
case 2:
result = ['Весна'];
break;
case 3:
result = ['Лето'];
break;
case 4:
result = ['Осень'];
break
}
console.log(result);
<select size="4" id="season">
<option disabled>Выберите</option>
<!-- Добавляем selected как значение по умолчанию, чтобы сразу увидеть эффект -->
<option value="1" selected>1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>