1

我不知道为什么,但我在尝试将 1 添加到变量时遇到了一个严重的问题。

    net = $('#net').val()+1;
$('#net').val(net).change();

这导致 1 1 (我知道这只是连接)。最后一行是将其输出到我的输入字段。如果我这样做:

    net = net+1;
$('#net').val(net).change();

我得到了 NaN。当我尝试像这样使用 parseInt 时:

    net = net+1;
net = parseInt(net,10);
$('#net').val(net).change();

我仍然得到NaN。我已经查看了解决此问题的 SO 上的其他示例,他们说要使用 parseInt(),我这样做了。我还能尝试什么让这个在现有数字上加 1 并放在我的字段中?

4

6 回答 6

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
于 2013-05-22T13:12:47.097 回答
3

尝试这个:

net = +net + 1;
$("#net").val(net);

您的+net 变量前面的将其转换为Number

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

于 2013-05-22T13:11:50.257 回答
1
var a = parseInt($('#net').val())+1

$('#net').val(a).change();

这应该会有所帮助。

于 2013-05-22T13:12:05.750 回答
0

问题是您的变量net不是数字而是字符串,您必须首先将其解析为 int :

net = parseInt($('#net').val());

然后做所有你想要的添加。

于 2013-05-22T13:12:38.583 回答
0

使用 parseInt

     net = parseInt($('#net').val())+1;
     $('#net').val(net).change();
于 2013-05-22T13:13:17.323 回答
0

这是因为 val() 返回一个字符串,而您尝试将 1 加到包含数字 1 和空格字母的字符串中。例如尝试

var net = +$.trim($('#net').val());
$('#net').val(net + 1).change();

这消除了空白并将 net 转换为数字,然后将其插入回 input(?) 字段。

于 2013-05-22T13:17:37.163 回答