如果这是个菜鸟问题,我很抱歉,但我是菜鸟。我想把几个文本字段的值之和放到另一个文本字段中。我的代码如下所示:
$('.button').mouseup(function() {
var sum = $("#field1").val()+$("#field2").val();
$("#result").val(sum);
});当我单击按钮时,3+3的总和不是6,而是33。它只是将所有数字添加到文本字段中。如果我把"+“改成"*”,3*3就是9。有人能告诉我我做错了什么吗?谢谢。
发布于 2013-03-05 00:58:39
当对字符串使用+运算符时,它会将字符串连接起来,而不是像*运算符那样试图将它们强制转换为数字。您可以使用parseInt()来获取整数而不是字符串。
$('.button').mouseup(function() {
var sum = parseInt($("#field1").val()) + parseInt($("#field2").val());
$("#result").val(sum);
});发布于 2013-03-05 00:57:34
.val()检索一个字符串,添加字符串将它们连接起来。
首先对值使用parseInt(str,10),将它们转换为以10为基数的整数:
var sum = parseInt($("#field1").val(),10)+parseInt($("#field2").val(),10);如果要处理非整数值,请改用parseFloat()。
发布于 2013-03-05 00:57:40
问题是javascript将+操作符解释为字符串连接操作而不是加法。这样做是因为+的左侧和右侧都是字符串值。要获得加法,您需要将它们强制转换为int值
var left = parseInt($("#field1").val());
var right = parseInt($("#field2").val());
var sum = left + right;https://stackoverflow.com/questions/15206729
复制相似问题