2014-08-29 95 views
0

我剛開始學習jquery,我試圖找出如何擺脫南,當有一個空格或一個字母等,並將其改爲無?還有沒有更好的方式來寫我所做的?如何不從返回nan回答jquery

的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> 
+0

http://codereview.stackexchange.com/ – anna 2014-08-29 12:30:36

+0

'input'是一個自閉的標籤。 ''。 – melancia 2014-08-29 12:30:37

+2

使用'isNaN()'來測試值是否爲NaN。 – Barmar 2014-08-29 12:33:04

回答

2

使用isNaN()使用它之前測試值。

$('#first').keyup(function(){ 
    var firstValue = parseFloat($('#first').val()); 
    if (!isNan(firstValue) { 
     $('#second').val(firstValue * one/two); 
    } 
}); 
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

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()