Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为订单总计添加输入时出错_Javascript_Jquery_Html - Fatal编程技术网

Javascript 为订单总计添加输入时出错

Javascript 为订单总计添加输入时出错,javascript,jquery,html,Javascript,Jquery,Html,我试图使用jQuery将类为“total”的输入添加到一起,然后将其显示在#total_price字段中。问题是,我的代码只是将这些数字串联起来,而不是将它们相加,因此不是2和2产生4,而是产生22。如果有人能解释我错在哪里,我将不胜感激!谢谢 HTML代码片段为您提供了一个想法: <tr> <td> <select id="Board_D" cl

我试图使用jQuery将类为“total”的输入添加到一起,然后将其显示在#total_price字段中。问题是,我的代码只是将这些数字串联起来,而不是将它们相加,因此不是2和2产生4,而是产生22。如果有人能解释我错在哪里,我将不胜感激!谢谢

HTML代码片段为您提供了一个想法:

<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);
    }
});