2015-08-28 3 views
-4

Я получаю ошибку NaN при запуске этого кода. У меня есть ячейка в таблице, из которой я получаю данные.Получение ошибки NaN при получении данных из столбца таблицы

Я пытаюсь добавить значения в столбец. Сейчас таблица имеет две строки, первая строка - 28.55, а вторая строка - 30.00.

Когда первое предупреждение показывает его 28.55, когда второе показывает его 30.0. Когда третье предупреждение показывает сумму NaN. Как сделать преобразование, чтобы оно могло правильно суммироваться? Заранее спасибо.

function changeBalance() { 

var sum = 0; 

$("td.pmt").each(function() { 
payment = $(this); 
alert(payment.html()); 

sum += parseFloat(payment.val()); 


});  
alert(sum); 
document.getElementById("total").innerHTML = sum; 

} 
+2

RTFM ~ [* "Метод' .val() 'в основном используется для получения значений элементов формы, таких как' input', 'select' и' textarea' * * (http://api.jquery.com/val/). Я бы, вероятно, пошел с '.text()' – Phil

+0

@Phil Итак, в основном, 'sum + = parseFloat (payment.html())' вместо. Почему так много downvotes, хотя? – gengkev

+0

@gengkev Я бы, скорее всего, пошел с '.text()' вместо '.html()', чтобы быть в безопасности. Я не знаю, почему так много downvotes, отсутствие исследовательских усилий, возможно? – Phil

ответ

0

Это произошло потому, что должно быть строковое значение, и вы пытаетесь добавить переменную integer.

Вот почему он возвращает NaN (не число)

попробовать это, прежде чем добавить

if(!isNaN(payment.val()) && payment.val()!='') 
{ 
    sum += parseFloat(payment.val()); 
} 

Надеется, что это будет помогать вам .... [ '}

Смежные вопросы