<ul>
<li>
<label>
<input type="checkbox" class="price" checked disabled data-price="200">
Базовая цена - 200₽
</label>
</li>
<li>
<label>
<input type="checkbox" class="price" data-price="50">
Опция 1 - 50₽
</label>
</li>
<li>
<label>
<input type="checkbox" class="price" data-price="50">
Опция 2 - 50₽
</label>
</li>
</ul>
<p>
Итого: <span id="total">200</span>₽
</p>
ul {
list-style: none;
padding: 0;
}
document.querySelector('ul').addEventListener(
'change',
(e) => {
const sum = [document.querySelectorAll('.price')]
.reduce(
(acc, el) => acc + (el.checked ? +el.dataset.price : 0),
0,
);
document.querySelector('#total').innerText = sum;
}
)
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.