Javascript 为订单总计添加输入时出错
我试图使用jQuery将类为“total”的输入添加到一起,然后将其显示在#total_price字段中。问题是,我的代码只是将这些数字串联起来,而不是将它们相加,因此不是2和2产生4,而是产生22。如果有人能解释我错在哪里,我将不胜感激!谢谢 HTML代码片段为您提供了一个想法:Javascript 为订单总计添加输入时出错,javascript,jquery,html,Javascript,Jquery,Html,我试图使用jQuery将类为“total”的输入添加到一起,然后将其显示在#total_price字段中。问题是,我的代码只是将这些数字串联起来,而不是将它们相加,因此不是2和2产生4,而是产生22。如果有人能解释我错在哪里,我将不胜感激!谢谢 HTML代码片段为您提供了一个想法: <tr> <td> <select id="Board_D" cl
<tr>
<td>
<select id="Board_D" class="service">
<option value="select">Board Pickets</option>
<option value="1">Board Pickets on 1X4 6' Tall</option>
<option value="2">Board Pickets on 1X6 6' Tall</option>
<option value="3">Board Pickets on 1X4 8' Tall</option>
<option value="4">Board Pickets on 1X6 8' Tall</option>
</select>
</td>
<td>$<input id="Board_C" /></td>
<td><input id="Board_Q" class="service" /></td>
<td>$<input id="Board_A" class="total" /></td>
</tr>
尝试将
sum
声明为0
/var sum=0代码>“”+2+2=22,0+2+2=4@Spokey没错。如果您尝试向字符串添加内容,它将作为字符串计算并执行串联。如果将其设置为0,则表示它是一个数值,解释器将执行数学运算。谢谢大家!我一直认为我的逻辑有错误。请随时将答案发布到@spokey,我将很乐意接受。
$(document.body).on('keypress keydown keyup change', '#manualOverrideNo, [class="total"], [class="standard"], [class="service"]', function(){
if($('#manualOverrideNo').prop('checked')) {
/*total_cost = 9;
$("#total_price").val(total_cost);*/
var sum = '';
/*Go through each input with class of 'total'*/
$(".total").each(function() {
/*Add only if value is a number*/
if(!isNaN(this.value) && this.value.length !== 0) {
sum += parseFloat(this.value);
}
});
$("#total_price").val(sum);
}
});