Mesuti
@Mesuti

Почему при первом клонировании Input сумма значений получается NaN?

Привет!
Есть калькулятор с добавлением строк.
*При нажатии Добавить сумма в итого не складывается это нормально, я просто вырезал нужный кусок кода
*Если удалить все строки, то новые не появятся, это нормально. В оригинале это настроено

Если в первый Input ничего не вводить, нажать добавить, то при вводе числа первый Input, в Итого будет NaN. Почему так?

Если в самом начале в первый Input ввести число, потом добавить строку, все будет в порядке.
Если в первый Input ничего не вводить, нажать добавить, и по порядку ввести числа во все input, то начнет нормально считать.

Специально везде использовал такую конструкцию, чтобы клонированные строки нормально отрабатывали
$(document).on('ДЕЙСТВИЕ', 'ЦЕЛЬ', function(e) {
...
});


  • Вопрос задан
  • 148 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Потому что parseInt('') будет NaN.

При суммировании подставляйте 0 вместо пустых строк, замените parseInt($(this).val()) на parseInt($(this).val()) || 0.
Ответ написан
Stalker_RED
@Stalker_RED
В том месте, где перебор всех полей через each, вы делаете parseInt даже на те инпуты, где пусто.
Там не ноль, а вообще пустая строка.
gbpA7dx.png
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы