在Javascript中计算不起作用
我想用Javascript进行计算,但遇到了一些奇怪的问题。 它只是将1添加到我的字符串中,但它应该计算它。我正在使用parseInt()函数将字符串转换为Int,并进行如下计算:在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
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++;
}