Javascript 使用变量中的数学函数获取输入值
我有一些javascript可以通过加号/减号按钮更改输入值。 我现在需要在变量中的值被递减后保存该值,并将其作为数字输出 减量的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
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的变量必须不正确,可能未定义。