jQuery从输入字段添加2个数字

时间:2013-04-29 00:00:30

标签: javascript jquery

我正在尝试添加两个警报框值,但我一直收到一个空白警告框。我不知道为什么。

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

6 个答案:

答案 0 :(得分:34)

添加字符串连接起来:

> "1" + "1"
"11"

你必须先将它们解析为数字:

/* parseFloat is used here. 
 * Because of it's not known that 
 * whether the number has fractional places.
 */

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

此外,您必须从点击处理程序内部获取值:

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

否则,您正在使用页面加载时文本框的值。

答案 1 :(得分:5)

<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 :(得分: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);

答案 3 :(得分:1)

使用此代码通过使用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>

答案 4 :(得分:-2)

好的,所以你的代码实际上是可行的,但是你需要做的是用你在点击前使用的jquery符号替换你的click函数中的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+/));         
})

答案 5 :(得分:-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>