我不知道为什么,但我在尝试向变量添加1时遇到严重问题。
net = $('#net').val()+1;
$('#net').val(net).change();
这导致11(我明白这只是连接)。最后一行是将其输出到我的输入字段。如果我这样做:
net = net+1;
$('#net').val(net).change();
我得到了NaN。当我尝试像这样使用parseInt:
net = net+1;
net = parseInt(net,10);
$('#net').val(net).change();
我仍然得到NaN。我已经看过关于SO的其他例子来解决这个问题,他们说要使用parseInt(),我做了。还有什么我可以尝试将其添加到现有数字1并在我的字段中插入?
答案 0 :(得分:4)
首先尝试net = parseInt(net,10);
然后net = net+1;
在您的代码中,您可以:
net = net+1; //from this point net=11
net = parseInt(net,10);
这是错误的,你应该反转你的两个陈述
net = parseInt(net,10); //here net=1 (integer representation)
net = net+1; // the '+' between two integers will result in an addition and not a concatenation
答案 1 :(得分:3)
试试这个:
net = +net + 1;
$("#net").val(net);
您的净变量前面的+
会将其转换为Number
答案 2 :(得分:1)
var a = parseInt($('#net').val())+1
$('#net').val(a).change();
这应该有所帮助。
答案 3 :(得分:0)
你的变量net
不是数字而是字符串,你必须首先将它解析为int:
net = parseInt($('#net').val());
然后执行您想要的所有添加。
答案 4 :(得分:0)
使用parseInt
net = parseInt($('#net').val())+1;
$('#net').val(net).change();
答案 5 :(得分:0)
这是因为val()返回一个字符串,并尝试将1添加到字符串中,该字符串包含数字1和空格字母。试试例子
var net = +$.trim($('#net').val());
$('#net').val(net + 1).change();
这将删除空格并在将网格插入输入(?)字段之前将其作为数字投射。