Как отфильтровать NaN?

Я записываю сумму в <div>, но прежде чем я введу значения в свои поля ввода, он показывает NaN.
Как мне отфильтровать это, чтобы избежать Нан?

app.js

$(document).ready(calculate);   
$(document).on("keyup", calculate);

function calculate() {
    var sum = 0;
    var value1 = $("#a_price").val();
    var value2 = $("#otherElemenet").val();
    $(".o-money__answer").each(function(){
    sum += parseFloat($(this).val()) * parseFloat(monetary_factor.replace(",", ".")) * parseFloat($(this).parent().find('input[type=hidden]').val());
    });
    $("#o-money__totalsum").html(sum.toFixed(2));
}   

PHP

<form class = "o-money__form" id = "<?php echo $counter; ?>" method = "post" action = "#">
    <?php $rows = get_field('pengar'); ?>
    <?php if ($rows): ?>
        <?php foreach($rows as $row): ?>
            <div class = "o-money__positionInput">
            <div class = "right50">
            <label class = "label labelInput">Antal <?php echo $row['typ_av_enhet']; ?></label> 
            </div>
            <input type = "text" value = "" class = "o-money__answer">
            <input type = "hidden" value = "<?php echo $row['a_price'];?>">
            </div>
        <?php endforeach; ?>
        <label id = "o-money__totalsum"> 0</label>
        </form>
        <!--
        <?php
            if (have_rows('pengar')):
                while(have_rows('pengar')) :
                    the_row();
                    $a_price = get_sub_field('a_price');
                    $monetary_factor = get_field('monetary_factor', 'option');
        ?>
        -->
        <?php
                    break;
                endwhile;
            endif;
        ?>
    <?php endif; ?>
</form>

Смотрите картинку того, что я пытаюсь продемонстрировать

Вам необходимо опубликовать достаточно кода, чтобы мы могли скопировать его на наши собственные машины и воспроизвести вашу проблему. Лучше всего создать скрипку на jsfiddle.net, но если вы не хотите этого делать, по крайней мере, опубликуйте рабочий образец в своем вопросе.

SaganRitual 23.03.2018 17:39
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
257
2

Ответы 2

Вы можете проверить NaN с помощью isNaN:

if (!isNaN(sum))$("#o-money__totalsum").html(sum.toFixed(2));

Есть собственный метод javascript под названием isNaN().

Вам просто нужно протестировать это, прежде чем что-либо отображать.

if (isNaN(your_var)) {
    ....
} else {
    ....
}

Другие вопросы по теме