Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.10.2015, 13:22
Новичок на форуме
Отправить личное сообщение для anton303 Посмотреть профиль Найти все сообщения от anton303
 
Регистрация: 29.10.2015
Сообщений: 6

Сложение нескольких чекбоксов
Добрый день.
Помогите пожалуйста написать код. Есть три чекбокса:
1 Стоимость дома 500 000 рублей
2 Стоимость утепления 100 000 рублей
3 Стоимость фундамента 150 000 рублей

Нужно, чтоб выводилась сумма этих чекбоксов в блок сразу без нажатия кнопки (кнопка вообще не нужна);
Первый чекбокс был сразу выбран по умолчанию и в блоке суммы отображалась сумма 500 000;
А при выборе второго и третьего чекбокса, они складывались с первым
Ответить с цитированием
  #2 (permalink)  
Старый 29.10.2015, 13:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,081

anton303,
вы начните или поищите решение на форуме ... хотябы
Ответить с цитированием
  #3 (permalink)  
Старый 29.10.2015, 13:53
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var result = check1.checked * 500000 + check2.checked * 100000 + check3.checked * 150000;


Или

var result = check1.checked * 5E5 + check2.checked * 1E5 + check3.checked * 15E4;
Ответить с цитированием
  #4 (permalink)  
Старый 29.10.2015, 13:54
Новичок на форуме
Отправить личное сообщение для anton303 Посмотреть профиль Найти все сообщения от anton303
 
Регистрация: 29.10.2015
Сообщений: 6

Я нашел одно более-менее похожее для меня решение, вот:
<form name="Sum">
<input type="checkbox" name="aa" value="500000">Стоимость дома 500000 руб.<BR>
<input type="checkbox" name="aa" value="100000">Стоимость утепления 100000 руб.<BR>
<input type="checkbox" name="aa" value="150000">Стоимость фундамента 150000 руб.<BR>

<output id="rezultat">Сумма: 0</output>
</form>

<script>
var s = document.forms.Sum,
d = s.querySelectorAll('input[type="checkbox"]:not([value]), input[type="checkbox"][value=""]');
for (var l = 0; l < d.length; l++) // чтобы не было написано NaN, убираем в disabled пункты, где не прописаны значения
d[l].disabled = true;
s.onchange = function() { // начало работы функции сложения
var n = s.querySelectorAll('[type="checkbox"]'),
itog = 0;
for(var j=0; j<n.length; j++)
n[j].checked ? itog += parseFloat(n[j].value) : itog;
var z1 = (itog);
document.getElementById('rezultat').innerHTML = 'Сумма: ' + z1;
}
</script>

но тут складывается только при клике на чекбокс
Ответить с цитированием
  #5 (permalink)  
Старый 29.10.2015, 14:04
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<form name="myForm">
    <input checked="checked" name="check1" type="checkbox">
    <input name="check2" type="checkbox">
    <input name="check3" type="checkbox">
</form>
        
<div id="result"></div>


(function() {
    var form = document.forms.myForm,
        labels = form.elements,
        result = document.getElementById('result');
    
    function onChange() {
        result.innerHTML = labels.check1.checked * 5E5 + labels.check2.checked * 1E5 + labels.check3.checked * 15E4 + 'р.';
    };
    
    form.addEventListener('change', onChange);
    onChange();
    
})();
Ответить с цитированием
  #6 (permalink)  
Старый 29.10.2015, 14:04
Новичок на форуме
Отправить личное сообщение для anton303 Посмотреть профиль Найти все сообщения от anton303
 
Регистрация: 29.10.2015
Сообщений: 6

Ruslan_xDD, прошу прощения, просто я полный ноль в этом. А можно полностью код написать
Ответить с цитированием
  #7 (permalink)  
Старый 29.10.2015, 14:06
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

anton303, уже написал.
Ответить с цитированием
  #8 (permalink)  
Старый 29.10.2015, 14:09
Новичок на форуме
Отправить личное сообщение для anton303 Посмотреть профиль Найти все сообщения от anton303
 
Регистрация: 29.10.2015
Сообщений: 6

Ruslan_xDD,
спасибо большое)
Ответить с цитированием
  #9 (permalink)  
Старый 29.10.2015, 14:23
Новичок на форуме
Отправить личное сообщение для anton303 Посмотреть профиль Найти все сообщения от anton303
 
Регистрация: 29.10.2015
Сообщений: 6

Ruslan_xDD,
подскажите еще пожалуйста, как перед итоговой суммой поставить "Итоговая стоимость дома:"
Ответить с цитированием
  #10 (permalink)  
Старый 29.10.2015, 14:47
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

<div>
    <b>Итоговая стоимость дома: </b>
    <span id="result"></span>
</div>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложение нескольких значений Palych Общие вопросы Javascript 1 20.02.2015 00:23
Сложение даных Rich_01 Общие вопросы Javascript 3 09.01.2015 21:33
совместная работа нескольких пользователей Aeliot@ Элементы интерфейса 5 27.09.2014 00:35
Скрипт сложение работает не так, нужна помощь! saves7 Общие вопросы Javascript 4 09.08.2013 08:07
Сложение нескольких значений элементов frolvict jQuery 2 04.12.2010 11:52