购物车(结帐)仅保留最后的值

时间:2018-10-13 01:42:55

标签: javascript php jquery ajax

我正在使用PHP Laravel框架(后端)和jQuery(前端)进行项目。我正在为正在开发的系统购买足球场门票结帐。

我几乎已经准备好所有结帐单,但是,发生的事情是,每当我返回到前一个值(具有产品价值的计算值)时,它都不会保留旧值(结账单分为3个阶段)。

  1. 用户选择体育场的区域并可以访问主席,就好像咨询已存档一样,请选择看台。

  2. 带有产品的购物车(他正在根据任何类型的部门正确计算产品数量)。问题在这里。简而言之,我向客户添加了2张门票,这些门票属于一个有椅子的部门,但是我回去又添加了1张已存档的门票,如果我返回购物车,他将根据看台的价格进行计算,而不是根据看台的价格进行计算。椅子的价格。

    打印演示:http://prntscr.com/l5hj5v

    在我的jQuery中,我正在分离值,您是基于数据库中AJAX的响应进行计算的。实际上,您想要的金额是250.00,看台票是50.00。但这只会删除最后一个椅子的值。

  3. 最后是付款数据。

我的jQuery:

$('.btn-next a[href=#section-2]').click(function () {
    let match = $('input[name=id_match]').val();
    let sector = $('select[name=id_sector] :selected').text();
    let id_sector = $('select[name=id_sector] :selected').val();

    $('.checkbox-success').children('input:checked').each(function () {
        let chair = $(this).val();

        if (chair == ''){ chair = '-'; }

        // Monta a estrutura da tabela do carrinho de compras
        $.get('/api/checkout', {
            match: match,
        },
        function (data) {
            $('#data-cart').append(`
                <tr>
                    <td><p class="text-center">` + data['lot']['id'] + `</p></td>
                    <td>
                        <div class="col-md-6">
                            <div class="col-md-4 text-center">
                                <img src="` + data['photo_club_main'] + `" style="height: 80px;"/>
                            </div>
                            <div class="col-md-4 text-center">
                                <img src="http://elotorcedor.local:8000/images/versus.svg" style="height: 40px;margin-top: 20px;margin-left: 20px;">
                            </div>
                            <div class="col-md-4 text-center">
                                <img src="` + data['photo_club_visitor'] + `" style="height: 80px;"/>
                            </div>
                        </div>
                        <div class="col-md-6">
                            <span class="col-md-12">` + data['championship'] + `</span>
                            <span class="col-md-12"><b>` + data['club_main'] + ' X ' + data['club_visitor'] + `</b></span>
                            <span class="col-md-12">` + data['stadium'] + ` - ` + data['date_match'] + `</span>
                        </div>
                    </td>
                    <td><span id="ticket-reserved" class="text-center">` + chair + `</span></td>
                    <td><span id="sector-selected" class="text-center">` + sector + `</span></td>
                    <td>
                        <select name="option_half" class="form-control">
                            <option value="1">Não</option>
                            <option value="2">Sim</option>
                        </select>
                    </td>
                </tr>
            `);
        });

        $.get('/api/lot', {
            match: match,
            sector: id_sector,
        },
        function (data) {
            let elo_balance  = 80.00;
            let price_full = data['price_full'];
            let amount_chair =  $('.checkbox-success').children('[data-type=chair]:checked').size();
            let amount_grandstand =  $('.checkbox-success').children('[data-type=grandstand]:checked').size();

            var total = (price_full * amount_chair) + (price_full * amount_grandstand);
            var amount_pay = total - elo_balance;

            $('#amount-full').empty();
            $('#amount-pay').empty();
            $('#elo-balance').empty();

            $('#amount-full').append('<span class="money">R$ ' + total + '</span>');
            $('#elo-balance').append('<span>Saldo EloTorcedor: <b>R$ ' + elo_balance + '</b></span>');
            $('#amount-pay').append('<span class="text-success"><b>R$ ' + amount_pay + '</b></span>');

            $('.btn-next a[href=#section-3]').click(function () {
                let request = [

                ];
            });
        });
    });
});

0 个答案:

没有答案