首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ongkir+Subtotal Javascript

Ongkir+Subtotal Javascript
EN

Stack Overflow用户
提问于 2017-03-02 07:33:25
回答 1查看 41关注 0票数 0

我有发票单。一切正常,但我在文本输入id='ongkir'中有一个问题。如果我在文本输入上输入一个值,那么文本输入总数必须是subtotal+ongkir。但不起作用。

检查此代码(auto.js):

代码语言:javascript
复制
$(document).on('change keyup blur', '#ongkir', function () {
    calculateTotal();
});

//total price calculation 
function calculateTotal() {
    subTotal = 0; total = 0;
    $('.totalLinePrice').each(function () {
        if ($(this).val() != '') subTotal += parseFloat($(this).val());
    });
    $('#subTotal').val(subTotal.toFixed(2));
    ongkir = $('#ongkir').val();
    if (ongkir != '') {
        ongkir = $('#ongkir').val();
        total = subTotal + ongkir;
        $('#grandtotal').val(total.toFixed(2));
    }
    else {
        total = subTotal;
    }
    $('#grandtotal').val(total.toFixed(2));
    calculateAmountDue();
}

这是文件transaksi.php:

代码语言:javascript
复制
<div class="col-lg-7">
    <div class="form-horizontal">
        <div class="form-group">
            <label for="subtotal" class="col-sm-7 text-right control-label"><b class="pull-right">Subtotal: </b></label>
            <div class="col-sm-5">
                <div class="input-group">
                    <span class="input-group-addon" id="basic-addon1">Rp</span>
                    <input type="number" class="form-control" id="subTotal" placeholder="Subtotal"
                           onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;" readonly>
                </div>
            </div>
        </div>

        <div class="form-group">
            <label for="ongkir" class="col-sm-7 control-label"><b class="pull-right">Ongkir: </b></label>
            <div class="col-sm-5">
                <div class="input-group">
                    <span class="input-group-addon" id="basic-addon1">Rp</span>
                    <td><input type="text" name="ongkir" id="ongkir" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td>
                </div>
            </div>
        </div>

        <div class="form-group">
            <label for="grandtotal" class="col-sm-7 control-label"><b class="pull-right">Grand Total: </b></label>
            <div class="col-sm-5">
                <div class="input-group">
                    <span class="input-group-addon" id="basic-addon1">Rp</span>
                    <input type="number" class="form-control" id="grandtotal" placeholder="Total" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;" readonly>
                </div>
            </div>
        </div>

        <div class="form-group">
            <label for="bayar" class="col-sm-7 control-label"><b class="pull-right">Bayar: </b></label>
            <div class="col-sm-5">
                <div class="input-group">
                    <span class="input-group-addon" id="basic-addon1">Rp</span>
                    <input type="number" class="form-control" id="bayar" placeholder="Jumlah Bayar" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;">
                </div>
            </div>
        </div>

        <div class="form-group">
            <label for="subtotal" class="col-sm-7 control-label"><b class="pull-right">Tanggal Bayar: </b></label>
            <div class="col-sm-5">
                <div class="input-group">
                    <input type="text" class="form-control" placeholder="Tanggal Bayar" aria-describedby="basic-addon1">
                    <span class="input-group-addon" id="basic-addon1"><i class="fa fa-calendar"></i></span>
                </div>
            </div>
        </div>
    </div>
</div>
EN

回答 1

Stack Overflow用户

发布于 2017-03-02 07:58:00

这行得通吗?如果不是的话,我可以在这里看到错误的东西(除了那个<td>)。

代码语言:javascript
复制
function calculateTotal() {
    var subTotal = 0,
        total = 0;
    $('.totalLinePrice').each(function() {
        if ($(this).val() != '') subTotal += parseFloat($(this).val());
    });
    $('#subTotal').val(subTotal.toFixed(2));
    var ongkir = $('#ongkir').val();
    if (ongkir != '') {
        total = subTotal + parseFloat(ongkir);
        $('#grandtotal').val(total.toFixed(2));
    } else {
        total = subTotal;
    }
    $('#grandtotal').val(total.toFixed(2));
    calculateAmountDue();
}

如果这不起作用,我会检查"calculateAmountDue()“中发生了什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42549312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档