Javascript 如何过滤掉NaN?
我在aJavascript 如何过滤掉NaN?,javascript,php,jquery,wordpress,advanced-custom-fields,Javascript,Php,Jquery,Wordpress,Advanced Custom Fields,我在a中写出总和,但在我将值放入输入框之前,它会显示NaN 我如何过滤它以避免Nan app.js $(document).ready(calculate); $(document).on("keyup", calculate); function calculate() { var sum = 0; var value1 = $("#a_price").val(); var value2 = $("#otherElemenet").val(); $(".
中写出总和,但在我将值放入输入框之前,它会显示NaN
我如何过滤它以避免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>
您可以使用isNaN
测试NaN:
if(!isNaN(sum))$("#o-money__totalsum").html(sum.toFixed(2));
有一个javascript本机方法叫做isNaN()
您只需要在显示任何内容之前对其进行测试
if (isNaN(your_var)) {
....
} else {
....
}
您需要发布足够的代码,以便我们可以将其复制到我们自己的机器上并重现您的问题。最好在上创建一个提琴,但如果您不想这样做,至少在您的问题中发布一个工作示例。