$('.field-name-field-weight-1 input').change(function(){
var wt1 = $(this).val();
var the = $(this).parent().parent().parent().parent();
var wt2 = the.find('.field-name-field-weight-2 input').val();
var total = parseFloat(wt1) - parseFloat(wt2);
var result = the.find('.field-name-field-weight-3 input').val(total.toFixed(2));
});
$('.field-name-field-weight-2 input').change(function(){
var wt2 = $(this).val();
var the = $(this).parent().parent().parent().parent();
var wt1 = the.find('.field-name-field-weight-1 input').val();
var total = parseFloat(wt1) - parseFloat(wt2);
var result = the.find('.field-name-field-weight-3 input').val(total.toFixed(2));
});
}
};
})(jQuery);
我有这段代码。我想摆脱NaN
。
基本上,当我在weight-1字段中输入一个数字时,它会在NaN
字段中显示weight-3
。我想摆脱这个。
提前致谢。
答案 0 :(得分:1)
只需测试NaN
:
if (!isNaN(total)) {
// Put it in the field...
}
更好的是,在计算前面捕获NaN
结果(在parseFloat
和wt1
上执行wt2
之后),并指出相关的无效字段值用户。
重新评论:
如果我把上面的内容
,我看不到结果字段中的任何内容
如果您总是想要更新结果,即使输入无效,也只需使用else
并在输入无效时填写您想要的结果。或者您可以使用三元运算符:
var result = the.find('.field-name-field-weight-3 input').val(
isNaN(total) ? '' : total.toFixed(2)
);
当输入无效时,将结果字段设置为空白。但同样,我会发现哪些输入无效并让用户知道。