Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Калькулятор услуг (https://javascript.ru/forum/events/57863-kalkulyator-uslug.html)

middlee 24.08.2015 16:28

Тут так же, если выбрать сперва 2ой радио в 1 строке, выводит 3090. После этого жмем второй из второй строки, выводит 1540.
Потом жмем второй из третей строки, выводит 1500.

А должен складывать все значения и вывести 3630 и 4130 соответственно, вот в чем у меня сложность очередная.

Получается что он радио(чекбоксы) с разными name начинает считать с дефолтного totalSum, в вашем примере с 1000.

ksa 24.08.2015 16:40

Цитата:

Сообщение от middlee
Получается что он радио(чекбоксы) с разными name начинает считать с дефолтного totalSum, в вашем примере с 1000.

Так они в моем примере и работали... :)

ksa 24.08.2015 16:51

Цитата:

Сообщение от middlee
Получается что он радио(чекбоксы) с разными name начинает считать с дефолтного totalSum, в вашем примере с 1000.

Просто нужно оба окурка давить вместе! (с) :D

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
<link rel="stylesheet/less" type="text/css" href="style.less">
<script src="http://cdnjs.cloudflare.com/ajax/libs/less.js/2.5.0/less.min.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	var totalSum = 1000;
    $('input[name="roliki"], input[name="mehanizm"], #sborka, #dostavka').click(function(event) {
		calc();
    });
	$('#totalsum').text(totalSum);
	function calc() {
        var sum = totalSum;
		$('input[name="roliki"]:checked, input[name="mehanizm"]:checked, #sborka:checked, #dostavka:checked').each(function(){
			sum+=parseInt(this.value);
		});
        $('#totalsum').text(sum);
	};
});
</script>
</head>
<body>
<div>
	<input type="radio" checked value="0" name="mehanizm">
	<input type="radio" value="2090" name="mehanizm">
</div>
<div>
	<input type="radio" checked value="0" name="roliki">
	<input type="radio" value="540" name="roliki">
	<input type="radio" value="530" name="roliki">
</div>
<div>
	<input type="checkbox" value="300" name="dostavka" id="dostavka">
	<input type="checkbox" value="500" name="sborka" id="sborka">
</div>
<p>
	<span id="totalsum" style="display:inline"></span> руб.
</p>
</body>
</html>

middlee 24.08.2015 17:11

Во, спасибо огромное, я бы медотом тыка месяц эту форму мучал:D

Знания javascript'a хромают, на обе ноги)


Часовой пояс GMT +3, время: 00:25.