Привет!
Есть ссылка на
codepan. Этот калькулятор работает только "в одну сторону".
Попробуйте активировать одну кнопку радио и пару чекбоксов, затем поменять кнопку радио и убрать чекбоксы, как видно цена результат уменьшаться.
Я пробовал это пофиксить но у меня почему-то не получается.
Что нужно добавить?
<div class="wrap-skoda">
<input type="radio" value="3008" id="skodalogo" name="model">
</div>
<div class="wrap-volk">
<input type="radio" value="3009" id="vwlogo" name="model">
</div>
<div class="wrap-additional">
<input class="chBox" type="checkbox" value="300" id="add1" name="model">
<label for="add1"><p>Доп.Опция 1</p></label>
<br />
<input class="chBox" type="checkbox" value="500" id="add2" name="model">
<label for="add2"><p>Доп.Опция 2</p></label>
<br />
<input class="chBox" type="checkbox" value="900" id="add3" name="model">
<label for="add3"><p>Доп.Опция 3</p></label>
<br />
<input class="chBox" type="checkbox" value="700" id="add4" name="model">
<label for="add4"><p>Доп.Опция 4</p></label>
<p></p>
<div class="result-wrap">
<p>Сумма заказа: <input id="result" type="text" value="0" disabled></p>
</div>
(function(){
var skoda = document.getElementById('skodalogo'),
volk = document.getElementById('vwlogo');
var skodaVal = skoda.value,
volkVal = volk.value;
var result;
var prev = null;
var chBox = document.querySelectorAll('input[type=checkbox]');
skoda.addEventListener('change', getValSk, false);
volk.addEventListener('change', getValVk, false);
function getValSk() {
result = document.getElementById('result').value = parseInt(skodaVal) + ' руб.';
return result;
};
function getValVk() {
result = document.getElementById('result').value = parseInt(volkVal) + ' руб.';
return result;
};
[].forEach.call(chBox, function(item, i, arr) {
item.addEventListener('change', function() {
if(arr[i].checked) {
result = parseInt(arr[i].value) + parseInt(result);
document.getElementById('result').value = result + ' руб.';
} else {
result = parseInt(result) - parseInt(arr[i].value);
document.getElementById('result').value = result + ' руб.';
}
}, false);
});
}());