пРИМЕР
by George Bash
HTML
<form action="#" id="calc">
<select name="price1" id="adults">
<option value="0">Кол-во взрослых</option>
<option value="250">2</option>
<option value="500">3</option>
<option value="750">4</option>
</select>
<select name="price2" id="kids">
<option value="0">Кол-во детей</option>
<option value="250">2</option>
<option value="500">3</option>
<option value="750">4</option>
</select>
<h2>Кол-во посещений:</h2>
<div class="check-radio">
<input type="radio" name="price3" value="200">
<label>1</label>
</div>
<div class="check-radio">
<input type="radio" name="price3" value="400">
<label>2</label>
</div>
<br>
Итого: на <font id="persons"></font> людей, <font id="visits"></font> посещений, будет стоить: <output name="o" for="a b c d e f g">0</output> рублей.
</form>
JavaScript
window.addEventListener('DOMContentLoaded', function() {
var form = document.querySelector('#calc'),
elem = form.querySelectorAll('[name^="price"]'),
output = form.querySelector('output');
function total()
{
output.innerHTML = [].reduce.call( elem, function(sum, el) {
var n = (+el.value||0) * (el.checked || el.tagName == "SELECT" || el.type == "text");
return sum + n
},0);
}
form.addEventListener('change', total);
form.addEventListener('input', total);
});