1

我如何用jquery计算#total value + 170?

$("#member").click(function() {
if ($('#member').is(':checked')) {
    var totalv = $("#total").val();
    var skatz = 170;
    var skaits = totalv + skatz;
    $("#total").val(skaits);
}
4

2 回答 2

1

的结果.val()将是一个字符串,因此您首先需要将其转换为数字:

var totalv = $("#total").val();
var skatz = 170;
var skaits = +totalv + skatz;
$("#total").val(skaits);

(注意 totalv 变量的附加 + 前缀。

于 2012-04-20T08:13:42.010 回答
1

您应该检查提供的值是否实际上是一个数字(您可以每次都执行 onkeypress 或 keyup 但我说您应该始终检查提交)。下面是修改后的代码(通过检查值是否为数字)。

编辑:确保您的 javascript 已准备好包裹它的文档。(函数可以在这个调用之外)

$(document).ready(function () {
    $("#member").click(function() {
    if ($('#member').is(':checked')) {
        var totalv = $("#total").val();
        if(isNumber(totalv) == true)
        {
            var skatz = 170;
            var skaits = parseInt(totalv) + skatz;
            $("#total").val(skaits);
        }
        else
        {
            alert("You must enter a numerical value");
        }
    }
});

function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}
于 2012-04-20T08:19:13.910 回答