Показать сообщение отдельно
  #8 (permalink)  
Старый 29.12.2014, 00:09
Новичок на форуме
Отправить личное сообщение для EviLex Посмотреть профиль Найти все сообщения от EviLex
 
Регистрация: 28.12.2014
Сообщений: 7

$('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.

Теперь вопрос:
Сейчас суммируются данные последнего ингредиента сами на себя, подскажите как подправить чтобы суммировались все ингредиенты? Думаю нужно как-то цикл дописать но не могу понять как это сделать в данном случае.

Последний раз редактировалось EviLex, 29.12.2014 в 00:26.
Ответить с цитированием