Вопрос для Инопланетной силы
Есть форма с select'ами и прочими полями:
<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> Итого: на <font id="persons"></font> людей, <font id="visits"></font> посещений, будет стоить: <output name="o" for="a b c d e f g">0</output> рублей. </form> Задача: Как вывести в "Итого" значения: - сложенных названий option в id="persons" - сложенных названий label в id="visits" - сложенные value любых полей в id="cost" Пока что есть скрипт для сложения всех value но в тег <output> хотелось бы с помощью <font id="cost"></font> выводить в процессе: https://jsfiddle.net/Georka/b8ps3uh9/3/ |
Почему <font>? Чем <span> плох?
document.getElementById('persons').textContent = persons; Что такое for="a b c d e f g"? В for должны быть id элементов от которых зависит выводимое значение. Но особого смысла это не имеет - это только подсказка для скриптов, по каким значениям считать. Но считать должен скрипт. Само считаться ничего не будет. |
WebMachine,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
window.addEventListener('DOMContentLoaded', function() {
var form = document.querySelector('#calc'),
output = form.querySelector('output');
function total() {
var mens_price = +adults.value;
var children_price = +kids.value;
var day_price = +form.querySelector('[name^="price"]:checked').value;
var sum = mens_price + children_price + day_price;
output.innerHTML = sum;
var num = (+adults.selectedOptions[0].text || 0) + (+kids.selectedOptions[0].text || 0)
persons.textContent = num;
var day = form.querySelector('[name^="price"]:checked').nextElementSibling.textContent;
visits.textContent = day;
}
form.addEventListener('change', total);
form.addEventListener('input', total);
});
</script>
</head>
<body>
<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" checked="checked">
<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>
</body>
</html>
|
Цитата:
|
Цитата:
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script>
window.addEventListener('DOMContentLoaded', function() {
var form = document.querySelector('#calc');
function total() {
var mens_price = +adults.value;
var children_price = +kids.value;
var day_price = +form.querySelector('[name^="price"]:checked').value;
var sum = mens_price + children_price + day_price;
all_price.innerHTML = sum;
var num = (+adults.selectedOptions[0].text || 0) + (+kids.selectedOptions[0].text || 0)
persons.textContent = num;
var day = form.querySelector('[name^="price"]:checked').nextElementSibling.textContent;
visits.textContent = day;
}
form.addEventListener('change', total);
form.addEventListener('input', total);
});
</script>
</head>
<body>
<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" checked="checked">
<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" id='all_price'>0</output> рублей.
</form>
</body>
</html>
|
Цитата:
|
| Часовой пояс GMT +3, время: 04:42. |