2016-05-01 49 views
0

我有2個數字輸入字段,並且在用戶停止輸入時運行下面的內容。我正在做的是檢查輸入的數字是否不大於輸入b,如果它是顯示錯誤。如果在js中不能很好地工作

問題是計算沒有發生。例如,如果a是200,b是100,但是a不是200,b是5,則工作。

不知道爲什麼...所以任何幫助將不勝感激。

$("#input_6_23, #input_6_24").on({ 
    blur: function() { 
     var a = document.getElementById("input_6_23").value; 
     var b = document.getElementById("input_6_24").value; 

     if(a > b) {  
      alert(a is bigger than b);   
     } 
    } 
}); 
+1

的可能的複製[問題在JavaScript中比較兩個數字(http://stackoverflow.com/questions/9094299/issue-with-comparing-two-numbers-in-javascript) – trincot

回答

3

的工作呢?

jQuery(document).ready(function($){ 

    $("#input_6_23, #input_6_24").on('blur',function() { 

     check(); 
    }); 
    function check(){ 
     var a = Number($("#input_6_23").val()); 
     var b = Number($("#input_6_24").val()); 

     if(a > b) {  
     alert(a+' is bigger than '+b);   
     } else { 
     alert("error"); 
    } 
}}); 
+0

是隊友的工作就像魅力。對不起,回覆晚:) – Jason

+0

感謝高興它的工作:-) – uzma

0

你正在做字符串比較,而不是數字比較。你可以轉換爲數字,這樣比較之前(注:將+跡象檢索.value時):

$("#input_6_23, #input_6_24").on({ 
    blur: function() { 
     var a = +document.getElementById("input_6_23").value; 
     var b = +document.getElementById("input_6_24").value; 

     if(a > b) {  
      alert("a is bigger than b");   
     } 
    } 
}); 

附:您還必須將您的a is bigger than b轉換爲帶有引號的有效字符串。

有多種方法將字符串轉換爲數字:

var num = parseInt(str, 10); 
var num = +str; 
var num = Number(str); 

,並希望這僅僅是測試,因爲把一個alert()blur事件是在實際真正使用非常厭惡場景。

0

更改爲:

var a = parseInt(document.getElementById("input_6_23").value, 10); 
var b = parseInt(document.getElementById("input_6_24").value, 10); 
相關問題