在Javascript中计算不起作用

在Javascript中计算不起作用,javascript,jquery,Javascript,Jquery,我想用Javascript进行计算,但遇到了一些奇怪的问题。 它只是将1添加到我的字符串中,但它应该计算它。我正在使用parseInt()函数将字符串转换为Int,并进行如下计算:sec=sec+1 var calc= parseInt($(this).find("input[name=calc]").val()); calc = calc + 1; 或者,在您的场景中: var fieldvalue = $(this).find("input[name=ca

我想用Javascript进行计算,但遇到了一些奇怪的问题。 它只是将1添加到我的字符串中,但它应该计算它。我正在使用parseInt()函数将字符串转换为Int,并进行如下计算:
sec=sec+1

 var calc= parseInt($(this).find("input[name=calc]").val());
                calc = calc + 1;
或者,在您的场景中:

var fieldvalue = $(this).find("input[name=calc]").val(), calc;

if(!!fieldvalue){
    calc = parseInt(fieldvalue, 10);

    calc += 1;

    alert(calc);
}

你有更多的代码要表达吗。它可能会变成1,因为sec不是一个数字

如果不想
NaN
,字符串不能为空。首先检查是否得到空字符串:

var cal = null;

if ( $(this).find("input[name=calc]").val() ) {

    cal = parseInt( $(this).find("input[name=calc]").val(), 10 );
    cal++;

}

在javascript中,+运算符用于字符串的加法和串联。 由于javascript是弱类型的,因此必须添加有关该类型的信息。以下是两种解决方案:

  • 从字符串中减去0

    秒=(秒-0)+1

  • 将一元+运算符添加到字符串

    秒=(+秒)+1


您在
sec
变量中放了什么?使用
alert(“…”)
console.log(“…”)
来调试
$(this)的值。find(“input[name=calc]”。val()
。sec开头为空
var cal = null;

if ( $(this).find("input[name=calc]").val() ) {

    cal = parseInt( $(this).find("input[name=calc]").val(), 10 );
    cal++;

}