из двух опций, изменить значение в другом элементе.
Проблема заключается в том, что после загрузки страницы при первой попытке выбрать опцию - функция не отрабатывает. Вторая, третья попытка - все работает. ЧЯДНТ?
function setFlangeCost() {
var a = document.getElementById('auto');
var flange = document.getElementById("flange");
a.addEventListener('change', function() {
console.log(this.value);
if (this.value == 'Легковой')
{
flange.onchange = flange.dataset.cost = 600;
}
else if (this.value == 'Внедорожный')
{
flange.onchange = flange.dataset.cost = 700;
}
}, false);
}
<select onchange="setFlangeCost()" name="type_auto" id="auto">
<option value="" disabled selected data-cost=0>Тип автомобиля</option>
<option id="light_car" value="Легковой" data-cost=2700>Легковой</option>
<option id="offroad_car" value="Внедорожный" data-cost=2800>Внедорожный</option>
<option value="Другой" data-cost="0">Другой</option>
</select>
Переписал сценарий. В общем суть следующая. В зависимости от опции, меняются свойства других элементов. В итоге должна получится сумма всех выбранных опций var a = document.getElementById('auto'); var flange = document.getElementById("flange"); a.addEventListener('change', function() { console.log(this.value); if (this.value == '0') flange.onchange = flange.value = 0; else if (this.value == '2700') { flange.onchange = flange.value = 600; } else if (this.value == '2800') { flange.onchange = flange.value = 700; } }, false);
и снова: что за двойное присваивание onchange?!
а как должно быть?
Обсуждают сегодня