Javascript 使用变量中的数学函数获取输入值

Javascript 使用变量中的数学函数获取输入值,javascript,Javascript,我有一些javascript可以通过加号/减号按钮更改输入值。 我现在需要在变量中的值被递减后保存该值,并将其作为数字输出 减量的javascript如下所示: if (!isNaN(currentVal) && currentVal > 0) { // Decrement one $('input[id='+fieldName+']').val(currentVal - 1); var test = parseInt($('input[id='+f

我有一些javascript可以通过加号/减号按钮更改输入值。 我现在需要在变量中的值被递减后保存该值,并将其作为数字输出

减量的javascript如下所示:

if (!isNaN(currentVal) && currentVal > 0) {
    // Decrement one
    $('input[id='+fieldName+']').val(currentVal - 1);
    var test = parseInt($('input[id='+fieldName+']').val(currentVal - 1).val());
    alert(test);
}

如你所见,我试图在一个名为“test”的变量中获得输入的更新值,但我得到的只是一个NaN。您知道如何在我的测试变量中将输入的更新值作为数字输出吗?

正如@trincot所说,我们无法重新生成您的情况。但阿楠被送回的原因是

parseInt
返回从给定字符串解析的整数。如果第一个字符无法转换为数字,则返回NaN

a='1'
设b='2'
log(parseInt(a));
// 1
console.log(parseInt(b));
//楠
console.log(parseInt(未定义))

//NaN
您可以使用双Tilda运算符,其行为类似于
Math.floor()
,但如果值不是数字,则将返回
0

我相信这就是您正在寻找的解决方案:

let-inputField=document.querySelector('input[name=“fieldName”]”);
增量=()=>{
让currentValue=~~inputField.value;
警报(当前值);
inputField.value=当前值+1;
};
减量=()=>{
让currentValue=~~inputField.value;
警报(当前值);
如果(当前值>0){
inputField.value=当前值-1;
}
};

+

-
我看到了一些东西

您使用的是jquery(我认为这是使用$selector的正确原因),您得到的是带括号符号的ID。 为什么不使用类似于

变量选择器=“#”+字段名

然后

$(选择器)

另一件事,通常当我尝试使用javascript时,我会在浏览器的开发工具控制台中进行尝试。
循序渐进避免错误

我无法重现您的问题。能否为
fieldName
currentVal
添加具体值,并添加相应的HTML?调用parseInt的变量必须不正确,可能未定义。