0

出于某种原因,当返回值应为 3 时,我的代码返回“0111”,将数字加在一起。

有没有更好的方法来编写它,以便添加输入文本的值?

var p = $(".p").val(); 
var r = $(".r").val();
var d = $(".d").val();
var s = $(".s").val();

var checkability = p + r + d + s;

alert(checkability)
4

3 回答 3

3

您正在连接需要将其转换为数字的字符串。val()以字符串形式返回数据,或根据您的类型显式使用parseInt(var, 10)或。parseFloat

简单的方法是不使用一元 + 运算符为变量添加前缀:

var checkability = +p + +r + +d + +s;

小提琴

于 2013-09-25T16:55:03.147 回答
0

当然,最简单的事情是将字符串值强制转换为整数,例如:

var p = +$(".p").val(); 
var r = +$(".r").val();
var d = +$(".d").val();
var s = +$(".s").val();

jsFiddle 示例

您还可以使用更长的parseInt()功能,例如var p = parseInt( $(".p").val(), 10);

于 2013-09-25T16:55:19.853 回答
0

使用 parseInt 使它们成为整数

var p = parseInt($(".p").val(),10); 
var r = parseInt($(".r").val(),10);
var d = parseInt($(".d").val(),10);
var s = parseInt($(".s").val(),10);

var checkability = p + r + d + s;

alert(checkability)
于 2013-09-25T16:56:23.937 回答