价格总和显示错误的价值

时间:2014-12-24 07:48:21

标签: javascript html html-table

我已经发了一张发票表格......一切正常,但所有产品价格的总和显示错误。我对Javascript不太满意。需要你的帮助。

js总和:

  <script type="text/javascript">
        window.sumInputs = function() {
            var inputs = document.getElementsByTagName('input'),
                result = document.getElementById('total'),
                sum = 0;            

            for(var i=0; i<inputs.length; i++) {
                var ip = inputs[i];

                if (ip.name && ip.name.indexOf("total") < 0) {
                    sum += parseInt(ip.value) || 0;
                }

            }

            result.value = sum;
        }
        </script>

html table:

这里我已经为我的计算声明了我的身份。这个  工作得很好。

<table>
    <tr>
        <td><input type="text" class="street" class="menu_name" name="user[0][name]" value=""></td>

        <td><input type="text" id="q2" name="user[0][age]" value=""></td>
         <td><input type="text" id="q1" class="menu_price" name="user[0][address]" value=""><br></td>
        <td><input type="text"  id="t3" name="user[0][email]" value=""></td>
    </tr>
    <tr>
        <td><input type="text" class="street1" class="menu_name1" name="user[1][name]" value=""></td>

        <td><input type="text" id="r2" name="user[1][age]" value=""></td>
          <td><input type="text" id="r1" class="menu_price1" name="user[1][address]" value=""><br></td>
        <td><input type="text" id="t4" name="user[1][email]" value=""></td>
    </tr>
    <tr>
        <td><input type="text"  class="street2" class="menu_name2" name="user[2][name]" value=""></td>

        <td><input type="text" id="t2" name="user[2][age]" value=""></td>
        <td><input type="text" id="t1" class="menu_price2" name="user[2][address]" value=""><br></td>
        <td><input type="text" id="t7" name="user[2][email]" value=""></td>
    </tr>
    <tr>
        <td><input type="text" class="street3" class="menu_name3" name="user[3][name]" value=""></td>

        <td><input type="text" id="h2" name="user[3][age]" value=""></td>
         <td><input type="text" id="h1" class="menu_price3" name="user[3][address]" value=""><br></td>
        <td><input type="text" id="t8" name="user[3][email]" value=""></td>
    </tr>
    <tr>
        <td><input type="text" class="street4" class="menu_name4" name="user[4][name]" value=""></td>

        <td><input type="text" id="y2" name="user[4][age]" value=""></td>
         <td><input type="text" id="y1" class="menu_price4" name="user[4][address]" value=""><br></td>
        <td><input type="text" id="t9" name="user[4][email]" value=""></td>
    </tr>
    <tr><td>Total : <input type="text" name="total" id="total"/>
            <a href="javascript:sumInputs()">Sum</a> //Here is my problem it's not showing correct value
        </td>

    </tr>
    <?php echo form_submit($submit);?>
    </table>

这是JSFiddle

1 个答案:

答案 0 :(得分:1)

我做了一些改变。实际上,js正在累加所有输入值。但是你只需要输入价值。

http://fiddle.jshell.net/h9753snz/