在JavaScript上进行减法

时间:2018-09-27 02:19:13

标签: javascript php jquery math

我有3列,并且我想在JavaScript上减去2列。第一列(列A)的数据来自数据库,第二列(列B)的数据由用户输入,第三列用于值。我已经成功运行了加法运算,但是实际上,我想要的是减法运算。我尝试将符号+更改为-,但结果却给了我错误的值。谁能帮我吗?

这是我的代码

<tr>
                        <td style="text-align: center; vertical-align:middle;"><?php echo $no; ?></td>

                        <td style="vertical-align:middle;"><?php echo $data[$i]['nama_barang']?></td>

                        <td style="text-align: right; vertical-align:middle;" class="so"><?php echo $data[$i]['stock']; ?></td>

                        <td><input type="number" class="form-control so" id="stock_op" name="stock_op" style="text-align: left"></td>

                        <td style="text-align: right; vertical-align:middle; font-weight:bold;"><output class="result"></output></td>
                    </tr>
                    <?php                                           
                    }
                ?>
    <script src="../js/jquery.min.js"></script>
    <script>
    $(document).on('input','.so',function(){
var grandSum = 0;
        var totalSum = 0;
        var currentRow = $(this).closest('tr');
        currentRow.find('.so').each(function(){
            var inputVal = ($(this).is('input')) ? $(this).val() : parseInt($(this).html());
            if($.isNumeric(inputVal)){
                totalSum += parseFloat(inputVal);
            }
        });
        currentRow.find('.result').val(totalSum);
    });

    </script>

                </tr>

这是表UI

2 个答案:

答案 0 :(得分:0)

您必须将第一个值添加到总和中,然后减去第二个值作为

if($.isNumeric(inputVal)){
    if(totalSum==0)
            totalSum += parseFloat(inputVal);
     else
           totalSum -= parseFloat(inputVal);

        }

答案 1 :(得分:0)

因为您要遍历库存/静态编号

<?php echo $data[$i]['stock']; ?>

4 / 13

和用户号码

<input type="number" class="form-control so" id="stock_op" name="stock_op" style="text-align: left">

您仍然需要添加库存编号,而只减去用户定义的编号。

所以你做不到

totalSum -= parseFloat(inputVal);

那样将两者相减。

因此您需要在{p>中使用-$(this).val()

var inputVal = ($(this).is('input')) ? -$(this).val() : parseInt($(this).html());

因为您只想减去输入字段的值。

请参见http://jsfiddle.net/gujex58p/