Как выводить результат вибронного сумму
<span> <span class="itogo" value="120">120 руб<input type="checkbox" /></span> <span class="itogo" value="123">123 руб<input type="checkbox" /></span> <span class="itogo" value="23">23 руб<input type="checkbox" /></span> <span class="itogo" value="34">34 руб<input type="checkbox" /></span> <span class="itogo" value="45">45 руб<input type="checkbox" /></span> <span class="itogo" value="56">56 руб<input type="checkbox" /></span> <span class="itogo" value="65">65 руб<input type="checkbox" /></span> <span class="itogo" value="76">76 руб<input type="checkbox" /></span> <span class="itogo" value="57">57 руб<input type="checkbox" /></span> </span> <div><span id="summa">0</span></div>
<script type="text/javascript">
function summ(){
var summ = document.getElementByid("summ");
var total = 0;
$('.itogo').each(function() {
total += parseInt($(this).attr('value'));
});
summ.innerhtml = total;
}
</script>
помогите разобраться |
Цитата:
<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<span>
<span class="itogo" value="120">120 руб<input type="checkbox" /></span>
<span class="itogo" value="123">123 руб<input type="checkbox" /></span>
<span class="itogo" value="23">23 руб<input type="checkbox" /></span>
<span class="itogo" value="34">34 руб<input type="checkbox" /></span>
<span class="itogo" value="45">45 руб<input type="checkbox" /></span>
<span class="itogo" value="56">56 руб<input type="checkbox" /></span>
<span class="itogo" value="65">65 руб<input type="checkbox" /></span>
<span class="itogo" value="76">76 руб<input type="checkbox" /></span>
<span class="itogo" value="57">57 руб<input type="checkbox" /></span>
</span>
<div><span id="summa">0</span></div>
<script type="text/javascript">
function summ(){
var summ = document.getElementById("summa");
var total = 0;
$('.itogo').each(function() {
total += parseInt($(this).attr('value'));
});
summ.innerHTML = total;
};
summ();
</script>
</body>
</html>
</html>
Сколько же у тебя там ошибок! :( |
Но не выводит же ответ выбронного
|
Вот с выбранными
<!DOCTYPE html>
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<span>
<span class="itogo" value="120">120 руб<input type="checkbox" /></span>
<span class="itogo" value="123">123 руб<input type="checkbox" /></span>
<span class="itogo" value="23">23 руб<input type="checkbox" checked /></span>
<span class="itogo" value="34">34 руб<input type="checkbox" /></span>
<span class="itogo" value="45">45 руб<input type="checkbox" /></span>
<span class="itogo" value="56">56 руб<input type="checkbox" /></span>
<span class="itogo" value="65">65 руб<input type="checkbox" checked /></span>
<span class="itogo" value="76">76 руб<input type="checkbox" /></span>
<span class="itogo" value="57">57 руб<input type="checkbox" /></span>
</span>
<div><span id="summa">0</span></div>
<script type="text/javascript">
function summ(){
var summ = document.getElementById("summa");
var total = 0;
$('.itogo > input:checked').each(function() {
total += parseInt($(this.parentNode).attr('value'));
});
summ.innerHTML = total;
};
summ();
</script>
</body>
</html>
</html>
|
Цитата:
|
Поменяйте спаны на label - улучшите жизнь пользователя, и когда лейбл щелкнут сразу меняйте валуе на то, которое надо посчитать, а когда отщелкнут - на 0. Валуе храните в data-value, а руб ... сколько будет 120 руб + 35 руб? 120руб35руб. :) До какого падения нравов может дойти parseInt()?
|
Цитата:
|
http://learn.javascript.ru/play/xYLh9b
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
#result label {
clear: both;
display: block;
margin: 10px 0;
width: 200px;
}
#result input {
float: right;
}
</style>
</head>
<body>
<div id="result">
<label>120 руб
<input data-price="120" type="checkbox">
</label>
<label>123 руб
<input data-price="123" type="checkbox">
</label>
<label>23 руб
<input data-price="23" type="checkbox">
</label>
<div>Итого: <span id="result-sum">0</span></div>
</div>
<script type="text/javascript">
(function() {
var i, total = 0,
resultElem = document.getElementById('result'),
resultLabels = resultElem.querySelectorAll('input[type="checkbox"]'),
resultSum = document.getElementById('result-sum');
function getSum() {
var price = +this.getAttribute('data-price');
total += this.checked ? price : -price;
resultSum.innerHTML = total;
}
for(i=0; i<resultLabels.length; i++) resultLabels[i].onchange = getSum;
})();
</script>
</body>
</html>
|
Спасибо огромное то что надо !
|
| Часовой пояс GMT +3, время: 16:13. |