Корзина (оформление заказа) с сохранением только последнего значения - PullRequest
0 голосов
/ 13 октября 2018

Я работаю над проектом с платформой 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 = [

                ];
            });
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...