Вывести сумму атрибутов элемента 
		
		
		
		Здравствуйте, помогите пожалуйста, есть список чекбоксов: 
	<input type="checkbox" value="12321" name="vote" test="0.2"> <input type="checkbox" value="12321" name="vote" test="1.2"> <input type="checkbox" value="12321" name="vote" test="3"> Подскажите как вывести сумму чисел из атрибута test у выбранных чекбоксов т.е если пользователь выберет все эти три чекбокса то должно вывести 4.4 Спасибо  | 
	
		
 mrmen2, 
	а почему нужен дополнительный атрибут а не стандартное value?  | 
	
		
 Цитата: 
	
  | 
	
		
 mrmen2, 
	:cray: пройти циклом проверить checked суммировать данные ... 
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
<input type="checkbox" value="12321" name="vote" test="0.2">
<input type="checkbox" value="12321" name="vote" test="1.2">
<input type="checkbox" value="12321" name="vote" test="3">
<script>
var votes = document.querySelectorAll('[name="vote"]');
function s() {
    var sum = [].reduce.call(document.querySelectorAll(":checked"), function(a, b) {
        a += +b.getAttribute("test");
        return a
    }, 0);
    alert(sum)
}
for (var i = 0; i < votes.length; i++) votes[i].onchange  = s;
</script>
</body>
</html>
 | 
	
		
 рони, не для продакшна. Вместо поиска по DOM, лучше тестить checked. И почему onclick, а не onchange? 
	
<!DOCTYPE HTML>
 
<html>
 
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
 
<body>
<input type="checkbox" value="12321" name="vote" data-price="0.2">
<input type="checkbox" value="12321" name="vote" data-price="1.2">
<input type="checkbox" value="12321" name="vote" data-price="3">
<script>
(function(){
	var votes = document.getElementsByName('vote');
	function recalc() {
		var sum = 0;
		for (var i = 0; i < votes.length; i++)
			sum += votes[i].checked ? +votes[i].getAttribute('data-price') : 0;
		alert(sum);
	}
	for (var i = 0; i < votes.length; i++)
		votes[i].onchange = recalc;
})();
</script>
</body>
</html>
 | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
  | 
	
		
 Ок. Я по табу перешел на чекбокс и нажал на пробел. Произошло событие click. Это логично? 
	 | 
	
		
 danik.js, 
	благодарю за желание помочь, но видимо моих знаний не хватает понять - считаю что click на 2% надёжнее чем change для checkbox - для формы надёжнее change, поэтому пишу так.  | 
| Часовой пояс GMT +3, время: 12:52. |