jQuery将输入值与另一个输入相加

我一直试图让这个相对简单的function起作用,但事实并非如此。 它不断将数字输出为字符串,而不是将它们一起添加。

$('#FS-quantity-1').change(function() { var subtotal = $("#HF-quantity").val()*2; var sum = Number(subtotal)+$("#FS-quantity-1").val(); $("#sticker-quantity").val(sum); }); 

这将2个值一起输出为字符串,而不是将它们相加。 还试过这个:

 $('#FS-quantity-1').change(function() { var subtotal = $("#HF-quantity").val()*2; var sum = parseInt(subtotal)+$("#FS-quantity-1").val(); $("#sticker-quantity").val(sum); }); 

这也没用。 我还尝试将小计乘以1以将其转换为整数。 那没用。

任何想法我如何得到小计和#FS-quantity-1的val()总和为一个整数?

使用:

 var sum = subtotal + parseInt($("#FS-quantity-1").val(), 10); 

您不需要在subtotal上使用Number ,因为它已经是一个数字,因为用于分配它的乘法。 但.val()返回一个字符串,您需要将其转换为数字,因为如果其中一个参数是字符串,则+执行连接。

您从#HF-quantity获得的值是字符串还是整数?

你应该做这样的事情。 不是说这是解决方案,而是更具可读性。

 var addThis = $("#element").val(); var plusThis = $("#otherElemenet").val(); var total = addThis + plusThis;