在js中添加两个变量

时间:2013-05-22 13:09:08

标签: javascript jquery html

我不知道为什么,但我在尝试向变量添加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并在我的字段中插入?

6 个答案:

答案 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

小提琴:http://jsfiddle.net/tymeJV/WudHW/1/

答案 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();

这将删除空格并在将网格插入输入(?)字段之前将其作为数字投射。