如何不从答案jquery返回nan

时间:2014-08-29 12:29:00

标签: jquery nan

我刚刚开始学习jquery,我试图弄清楚当有空格或字母等时如何摆脱NAN并将其更改为空?还有更好的方式来写我所做的事情吗?

Jquery的:

$(document).ready(function(){
    var one = 9; 
    var two = 7;

    $('#first').keyup(function(){ 
        var firstValue = parseFloat($('#first').val()); 
        $('#second').val(firstValue * one / two);
    });

    $('#second').keyup(function(){ 
        var secondValue = parseFloat($('#second').val()); 
        $('#first').val(secondValue / two * one);
    });
});

HTML:

<input id=first></input> <input id=second></input>

3 个答案:

答案 0 :(得分:2)

在使用之前使用isNaN()测试该值。

$('#first').keyup(function(){ 
    var firstValue = parseFloat($('#first').val());
    if (!isNan(firstValue) {
        $('#second').val(firstValue * one / two);
    }
});

答案 1 :(得分:0)

$(document).ready(function(){
var one = 9; 
var two = 7;

$('#first').keyup(function(){ 
    var firstValue = parseFloat($('#first').val()); 
    if(!isNaN(firstValue))         // Use 'isNaN' as shown
    $('#second').val(firstValue * one / two);
});

$('#second').keyup(function(){ 
    var secondValue = parseFloat($('#second').val()); 
    if(!isNaN(secondValue))        // Use 'isNaN' as shown
    $('#first').val(secondValue / two * one);
});
});

在此处阅读更多内容: - http://www.w3schools.com/jsref/jsref_isnan.asp

答案 2 :(得分:0)

首先,修复HTML标记:

<input type="text" id="first" />
<input type="text" id="second" />

然后,您可以按照@Barman的推荐:

进行操作
$(document).ready(function(){
    var one = 9; 
    var two = 7;

    $('#first').on('keyup', function(){ 
        var firstValue = parseFloat($('#first').val());

        if (!isNaN(firstValue)) {
            $('#second').val(firstValue * one / two);
        }
    });

    $('#second').on('keyup', function(){ 
        var secondValue = parseFloat($('#second').val()); 

        if (!isNaN(secondValue)) {            
            $('#first').val(secondValue / two * one);
        }
    });
});

Demo

Number.isNaN()