• Страница 1 из 1
  • 1
Скрипт подсчета чисел из value
Kruglov Оффлайн
Проверенный
1
Дата: Вторник, 2016-03-08, 12:49 | Сообщение # 1
Добрый день, есть html код со скриптом:

Код
<div id="allEntries">
  <input type="text" value="500" />
  <input type="text" value="700" />
  <input type="text" value="500" />
  <input type="text" value="900" />
  <input type="text" value="600" />
  <input type="text" value="500" />
</div>
<div id="result"></div>
<script>
window.addEventListener('load', loadContent);

function loadContent() {
   jQuery(document).ready(function($){
    var len = allEntries.children.length, summa = 2000;
    while (len--) summa += +allEntries.children[len].value;
    result.innerHTML = summa;
   });
}
</script>


Все работает отлично, но нужно сам скрипт применить не к id, а к class, то есть html код будет такой:

Код
<div id="allEntries">
<div class="entries">
   <input type="text" value="500" />
   <input type="text" value="700" />
   <input type="text" value="500" />
   <input type="text" value="900" />
   <input type="text" value="600" />
   <input type="text" value="500" />
</div>
</div>
<div id="result"></div>


пытался реализовать скрипт вот так:

<script>
window.addEventListener('load', loadContent);

function loadContent() {
jQuery(document).ready(function($){
var des = document.getElementsByClassName('entries');
var len = des, summa = 0;
while (len--) summa += +des[len].value;
result.innerHTML = summa;
});
}
</script>

но ничего не получилось :(
Подскажите, где ошибка в скрипте?)
Профиль
jpios Оффлайн
Проверенный
7
Дата: Вторник, 2016-03-08, 15:19 | Сообщение # 2
Ошибка в том, что уникальный id на странице может быть только один, поэтому ты обращаешься непосредственно к нему, а одинаковых классов на странице может быть множество, поэтому функция document.getElementsByClassName возвращает коллекцию, содержащую все элементы с заданным классом. Самый простой способ - явно указать какой по счету этот класс у тебя. Если это единственный класс, или класс встречающийся первым в документе - то это 0 элемент. Вот примерно так тогда должен выглядеть код
Код

window.addEventListener('load', loadContent);

function loadContent() {
   jQuery(document).ready(function($){
    var len = $('.entries')[0].children.length, summa = 2000;
    while (len--) summa += +$('.entries')[0].children[len].value;
    result.innerHTML = summa;
   });
}


Профиль
  • Страница 1 из 1
  • 1
Поиск: