删除变量时从输入字段中删除NaN

时间:2014-06-03 03:29:33

标签: javascript jquery html

我正在制作一个简单的计算器,并且我从前一个问题中获得了一些代码:

$("input[type=text]").keyup(function () {
        var number = parseFloat($(this).val());
        var inc = parseFloat($(this).attr("inc"));
        var newValue = number / inc;
        $("input[type=text]").each(function () {
                $(this).val(newValue * parseFloat($(this).attr("inc")));
                });
        });

当我输入一个值然后将其删除为相同的NaN框时,我只需要知道如何阻止它显示它并在其位置显示0。

JSFiddle Here

3 个答案:

答案 0 :(得分:0)

您可以使用isNaN(val):检查其号码是否非法。

$("input[type=text]").each(function () {
if(isNaN(newValue * parseFloat($(this).attr("inc"))))
  $(this).val(0);
else
  $(this).val(newValue * parseFloat($(this).attr("inc")));
});

<强> Working Demo

答案 1 :(得分:0)

在使用之前测试NaN的数字是否为<{p}}:

var number = parseFloat($(this).val());
if (isNaN(number)) {
    number = 0;
}

答案 2 :(得分:0)

使用isNaN()测试值,这将允许您更改输出

http://jsfiddle.net/J24yN/153/

        newValue * parseFloat($(this).attr("inc"))

        if(!isNaN(newValue)){
            $(this).val(newValue);
        } else {
            $(this).val(0);
        }