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

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

最佳答案

添加字符串将它们串联起来:

> "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);
});

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

10-05 20:38