2013-04-29 73 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>