2013-04-29 71 views
8

我想添加兩個值的警報框,但我不斷收到一個空白的警報框。我不知道爲什麼。jQuery從輸入字段中添加兩個數字

$(document).ready(function(){ 
    var a = $("#a").val(); 
    var b = $("#b").val(); 
    $("submit").on("click", function(){ 
     var sum = a + b; 
     alert(sum);   
    }) 
}) 

回答

25

添加字符串連接它們:

> "1" + "1" 
"11" 

你要他們先解析成數字:

var a = parseInt($('#a').val(), 10); 
var b = parseInt($('#b').val(), 10); 

此外,你必須從單擊處理內部得到的值:

$("submit").on("click", function() { 
    var a = parseInt($('#a').val(), 10); 
    var b = parseInt($('#b').val(), 10); 

否則,您使用的頁面加載時的文本框的值。

+0

第一ü應添加烏爾庫jQuery的,所以u需要下載它增加了兩個數字。然後在第一行中加入這一行....... 2018-01-08 23:04:47

-2

好吧,讓你的代碼實際上工作,但你需要做的是用點擊之前你使用的jQuery表示法在你的點擊函數中替換a和b。這將確保您擁有正確且最新的值。所以改變你的點擊功能,這應該工作:

$("submit").on("click", function(){ 
    var sum = $("#a").val().match(/\d+/) + $("#b").val().match(/\d+/); 
    alert(sum);   
}) 

或內聯到:

$("submit").on("click", function(){ 
    alert($("#a").val().match(/\d+/) + $("#b").val().match(/\d+/));   
}) 
-2

此代碼的工作,你可以與你相比呢?

<!DOCTYPE html> 
<html lang="en-US"> 
<head> 
    <title>HTML Tutorial</title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <meta charset="windows-1252"> 
<script> 

$(document).ready(function(){ 
    var a = $("#a").val(); 
    var b = $("#b").val(); 
    $("#submit").on("click", function(){ 
     var sum = a + b; 
     alert(sum);   
    }) 
}) 
</script> 
</head> 
<body> 
    <input type="text" id="a" name="option"> 
    <input type="text" id="b" name="task"> 
<input id="submit" type="button" value="press me"> 

</body> 

</html> 
3
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#btnadd').on('click', function() { 
      var n1 = parseInt($('#txtn1').val()); 
      var n2 = parseInt($('#txtn2').val()); 
      var r = n1 + n2; 
      alert("sum of 2 No= " + r); 
      return false; 
     }); 
     $('#btnclear').on('click', function() { 
      $('#txtn1').val(''); 
      $('#txtn2').val(''); 
      $('#txtn1').focus(); 
      return false; 
     }); 
    }); 
</script> 
2

有兩種方式,你可以在jQuery的

增加兩個數量第一種方式:

var x = parseInt(a) + parseInt(b); 
alert(x); 

方式二:

var x = parseInt(a+2); 
alert(x); 

既然來了你的問題

var a = parseInt($("#a").val()); 
var b = parseInt($("#b").val()); 
alert(a+b); 
0

使用此代碼通過使用jQuery

<!DOCTYPE html> 
    <html lang="en-US"> 
    <head> 
     <title>HTML Tutorial</title> 
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
     <meta charset="windows-1252"> 
    <script> 

    $(document).ready(function(){ 
     $("#submit").on("click", function(){ 
     var a = parseInt($('#a').val()); 
     var b = parseInt($('#b').val()); 
      var sum = a + b; 
      alert(sum); 
     }) 
    }) 
    </script> 
    </head> 
    <body> 
     <input type="text" id="a" name="option"> 
     <input type="text" id="b" name="task"> 
    <input id="submit" type="button" value="press me"> 

    </body> 

    </html>