Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Не большой скрипт сложения чисел (https://javascript.ru/forum/css-html/61770-ne-bolshojj-skript-slozheniya-chisel.html)

sim4ik-one 07.03.2016 15:48

Не большой скрипт сложения чисел
 
Здравствуйте, есть код, как пример:
<div id="chat">
<div id="sms">500</div>
<div id="sms">600</div>
<div id="sms">600</div>
<div id="sms">900</div>
<div id="sms">1000</div>
<div id="sms">500</div>
<div id="sms">700</div>
<div id="sms">500</div>
<div id="sms">800</div>
</div>
<div id="result">2000+полученное число</div>


Подскажите не больший скриптик который бы слаживал все числа с ID=sms и вставлял полученное число в ID=result

Coriolan161 07.03.2016 16:12

sim4ik-one,
В пределах страницы id элемента должен быть уникален. А у тебя их 9.

sim4ik-one 07.03.2016 16:16

Coriolan161,
А если за месть div id=sms указать input value=число?)

Coriolan161 07.03.2016 16:21

sim4ik-one,
Грамотно мыслишь. Добро

sim4ik-one 07.03.2016 16:31

К примеру получится тогда у меня такой код:

<div id="chat">
<input type="text" name="" id="sms1" value="500" />
<input type="text" name="" id="sms2" value="700" />
<input type="text" name="" id="sms3" value="500" />
<input type="text" name="" id="sms4" value="900" />
<input type="text" name="" id="sms5" value="600" />
<input type="text" name="" id="sms6" value="500" />
</div>
<div id="result"></div>


function addIt() {
var sms1 = +document.getElementById("sms1").value;
var sms2 = +document.getElementById("sms2").value;
var sms3 = +document.getElementById("sms3").value;
var sms4 = +document.getElementById("sms4").value;
var sms5 = +document.getElementById("sms5").value;
var sms6 = +document.getElementById("sms6").value;
document.getElementById("result").value = sms1 + sms2 + sms3 + sms4 + sms5 + sms6;
}


При этом число input может быть и 100
значит в скрипте надо прописать все это?)

Coriolan161 07.03.2016 16:33

sim4ik-one,
Ты не помнишь зачем придумали классы?

sim4ik-one 07.03.2016 16:39

Coriolan161,
Дак а что изменится из того что я поменяю id="sms1" на class="sms"

Coriolan161 07.03.2016 16:41

sim4ik-one,
потому что ты элементы с одним классом можешь толпой сразу собрать в коллекцию, вместо того, чтобы c каждым id возиться !

sim4ik-one 07.03.2016 16:43

Coriolan161,
воот, этого я и хочу, а вот как это сделать не знаю)

Vlasenko Fedor 08.03.2016 00:24

<div id="chat">
  <input type="text" name="" id="sms1" value="500" />
  <input type="text" name="" id="sms2" value="700" />
  <input type="text" name="" id="sms3" value="500" />
  <input type="text" name="" id="sms4" value="900" />
  <input type="text" name="" id="sms5" value="600" />
  <input type="text" name="" id="sms6" value="500" />
</div>
<button id="sum">Click me</button>
<div id="result"></div>
<script>
window.addEventListener('load', loadContent);

function loadContent() {
  sum.onclick = function() {
    var len = chat.children.length, summa = 0;
    while (len--) summa += +chat.children[len].value;
    result.innerHTML = summa;
  };
}
</script>

вариант :)


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