由于某些原因,当返回的值应为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)
答案 0 :(得分:3)
您正在连接将其强制转换为数字所需的字符串。 val()
以字符串形式返回数据,或根据您的类型明确使用parseInt(var, 10)
或parseFloat
。
简单的方法是使用unary + operator为变量添加前缀:
var checkability = +p + +r + +d + +s;
<强> Fiddle 强>
答案 1 :(得分:0)
当然,最简单的方法是将字符串值强制转换为整数,如:
var p = +$(".p").val();
var r = +$(".r").val();
var d = +$(".d").val();
var s = +$(".s").val();
<强> jsFiddle example 强>
您还可以使用parseInt()
var p = parseInt( $(".p").val(), 10);
功能
答案 2 :(得分: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)