Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Раздельное суммирование значений чекбоксов (https://javascript.ru/forum/misc/67298-razdelnoe-summirovanie-znachenijj-chekboksov.html)

Dilettante_Pro 09.02.2017 10:41

solanos,
Цитата:

Сообщение от ksa
Как вариант, держать второй параметр в том же чекбоксе, но в data-атрибуте

Или другой вариант: держать данные в массиве (любые наборы). Выбранный чекбокс - индекс массива

solanos 13.02.2017 15:32

Цитата:

Сообщение от Dilettante_Pro (Сообщение 443749)
solanos,

Или другой вариант: держать данные в массиве (любые наборы). Выбранный чекбокс - индекс массива

Это как? Приведите пример, пожалуйста.

Dilettante_Pro 14.02.2017 13:26

solanos,
<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>

<script type='text/javascript'>

$(function (){
         var arr = [[10,100],[20,200],[30,300],[40,400],[50,500]];
 
	$(':checkbox').click(function(){
		var summ1=0, summ2 = 0;

		$(':checked').each(function(){
			summ1 += arr[+this.value][0];
			summ2 += arr[+this.value][1];
		});

                $('#rezultat1').text("Сумма 1=" + summ1);
                $('#rezultat2').text("Сумма 2=" + summ2);
	});
});
</script>
</head>
<body>
<form name="Sum">
	<div>
		<input type="checkbox" class="class1" value="0"/>
		<input type="checkbox" class="class1" value="1"/>
		<input type="checkbox" class="class1" value="2"/>
		<input type="checkbox" class="class1" value="3"/>
		<input type="checkbox" class="class1" value="4"/>
	</div>

	<div>
		<output id="rezultat1">Сумма 1=0</output>
		<output id="rezultat2">Сумма 2=0</output> 
	</div>
</form>
</body>
</html>

solanos 14.02.2017 15:19

Круто. Спасибо огромное за ответ. Возник маленький вопрос. А как сделать, чтобы output'ы изначально были видны, а не появлялись после клика?








э'

Dilettante_Pro 14.02.2017 18:34

solanos,
Цитата:

Сообщение от solanos
А как сделать, чтобы output'ы изначально были видны

Смотрите измененный пример пост №13


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