Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите пожалуйста вычислить общую сумму (https://javascript.ru/forum/misc/36632-pomogite-pozhalujjsta-vychislit-obshhuyu-summu.html)

katalizator 22.03.2013 15:53

Цитата:

Сообщение от rgl (Сообщение 242023)
<html>
<script type="text/javascript">
  function f() {
    var el, i = 0, result = 0;
    while( el = document.getElementById( "num_" + ++i ) )
      result += +el.textContent;
    document.getElementById( "result" ).innerHTML = "sum=" + result;
  }
</script>

<div id="num_1">10</div>
<div id="num_2">20</div>
<div id="num_3">50</div>
<div id="num_4">30</div>
<div id="num_5">25</div>
<div id="num_6">64</div>
<input type="button" value="calculate" onclick="f();">
<div id="result"></div>
</html>


Цитата:

Сообщение от Ervin (Сообщение 242027)
function getResult() {
   var i = 1,
        b = 1,
        el = document.getElementById("num_" + i + "_" + b),
        result = 0;
        
    while(el) {
       while(el) {
          result += +el.innerHTML;
          b++;
          el = document.getElementById("num_" + i + "_" + b);
      }
          
      b = 1;
      i++;
      el = document.getElementById("num_" + i + "_" + b);
    }
			  
   document.getElementById("result").innerHTML = result;
}


Ред. - Код чтобы вызвать функцию
<div id="calculate"></div>

    window.onload = function() {
       document.getElementById("calculate").onclick = getResult;
    }



Огромнейшее Вам спасибо!!!!!! :thanks: :thanks: :thanks:

katalizator 22.03.2013 15:58

Цитата:

Сообщение от rgl (Сообщение 242023)
<html>
<script type="text/javascript">
  function f() {
    var el, i = 0, result = 0;
    while( el = document.getElementById( "num_" + ++i ) )
      result += +el.textContent;
    document.getElementById( "result" ).innerHTML = "sum=" + result;
  }
</script>

<div id="num_1">10</div>
<div id="num_2">20</div>
<div id="num_3">50</div>
<div id="num_4">30</div>
<div id="num_5">25</div>
<div id="num_6">64</div>
<input type="button" value="calculate" onclick="f();">
<div id="result"></div>
</html>

Не подскажите ещё пожалуйста, как сделать что бы результат выводился автоматически сразу, без нажатия кнопки?

Ervin 22.03.2013 16:00

Когда тебе нужно выводить ? При загрузки станице ?

katalizator 22.03.2013 16:06

Цитата:

Сообщение от Ervin (Сообщение 242038)
Когда тебе нужно выводить ? При загрузки станице ?

Нет, в процессе ввода.
Что бы считалось на лету

Ervin 22.03.2013 16:20

Тогда легче всего с использованием input вместо div:
<input type="text" id="num_1" class="calculate" value="" />
 <input type="text" id="num_2" class="calculate" value="" />
 <input type="text" id="num_3" class="calculate" value="" />
 
  // создать обработчики для каждого инпута
  var elements = document.getElementsByClassName("calculate");
  
  for(var i = 0, leng = elements.length; i < leng; i++) {
    elements[i].onkeyup = getResult;
  }


Вроде все.

katalizator 22.03.2013 16:26

Цитата:

Сообщение от Ervin (Сообщение 242045)
Тогда легче всего с использованием input вместо div:
<input type="text" id="num_1" class="calculate" value="" />
 <input type="text" id="num_2" class="calculate" value="" />
 <input type="text" id="num_3" class="calculate" value="" />
 
  // создать обработчики для каждого инпута
  var elements = document.getElementsByClassName("calculate");
  
  for(var i = 0, leng = elements.length; i < leng; i++) {
    elements[i].onkeyup = getResult;
  }


Вроде все.

Попробую так, спасибо большое :)


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