Подсчёт значений в нескольких инпута

238
14 февраля 2017, 20:55

Есть конструкция:

<div>
  <div>
    <button>-</button>
    <input type="number">
    <button>+</button>
  </div>
  <div>
    <button>-</button>
    <input type="number">
    <button>+</button>
  </div>
  <div>
    <button>-</button>
    <input type="number">
    <button>+</button>
  </div>
</div>

По нажатию на кнопку я повесил событие change для инпута. Теперь хочу по событию change запускать функцию, которая будет считать и суммировать числа из каждого инпута. Например, если в первом инпуте 3, во втором 5, а в третьем 8, то результатом выполнения функции будет вывод числа 16. Как можно реализовать подсчёт не обращаясь к классам и :nth-селекторам?

Answer 1
var res = 0.0;
$("input[type='number']").each(function(){
    res += parseFloat($(this).val());
}); 

Как-то так.

Answer 2

Решил свой вопрос:

$(function(){
  var input = $('.passengers-list').find('.numeric-input');
  var passengers;
  input.on('change', function(){
    passengers = 0;
    $(input).each(function(){
      passengers += parseInt($(this).val());
    });
    updatePassengers(passengers)
  });
});

В ответе пользователя @Міша счётчик только прибавлял и если была нажата кнопка "минус", которая уменьшала значение в соседнем инпуте, то общее значение всё равно бы увеличилось. Из-за чего глобальное значение всегда нужно обнулять.

READ ALSO
Загрузка файла JSON с сервера

Загрузка файла JSON с сервера

Значения в массив подгружаются с сервера, из файла формата JSONПри помощи функции приведенной ниже

359
Проблема с slick carousel

Проблема с slick carousel

На сайте есть слайдеры сделанные с помощью slick carouselНа одной странице установлена 2 слайдера все работает нормально

393
Как получить дочерние элементы SymbolItem (Paper.js)

Как получить дочерние элементы SymbolItem (Paper.js)

Имется, к примеру, такие элементы:

263
Meteor или Node.js + Socket.io + MongoDB + Vue.js?

Meteor или Node.js + Socket.io + MongoDB + Vue.js?

Существует задача по созданию крупного проекта, веб-приложения с риалтаймомСоздавая новый проект в ВебШторме, уже почти нажав на "Node

478