$('body').on('keyup', 'input', function () {
for ( var c in total ){
total.splice(c,1, 0);
}
sum.shift();
for ( var x in sumId ){
var i = 0;
for ( var v in total ){
console.log('total:'+total+' sum:'+sum);
total[v]+=sum[v];
total[v] = Math.floor(total[v]*100)/100;
}
}
sum.unshift();
$('div#sumAll span').remove();
$('div#sumAll').append('<span>Общая:<br/><strong>Масса:</strong>'+total[0]+', <strong>кКал:</strong>'+total[1]+', <strong>Белки:</strong>'+total[2]+', <strong>Жиры:</strong>'+total[3]+', <strong>Углеводы</strong>:'+total[4]+'</span>');
});
Вот ссылка на почти рабочий вариант
http://jsfiddle.net/d1wztvdp/2/
Вкратце как это все работает:
В коде создается уникальный sum для каждого нового ингредиента (при нажатии на "+ Добавить ингредиент") его данные (калории и тп) меняются в зависимости от введных данных в его личный input.
Первая ячейка массива sum хранит уникальный id.
Теперь вопрос:
Сейчас суммируются данные последнего ингредиента сами на себя, подскажите как подправить чтобы суммировались все ингредиенты? Думаю нужно как-то цикл дописать но не могу понять как это сделать в данном случае.