• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

jQuery zliczanie wartości

0 głosów
77 wizyt
pytanie zadane 24 marca 2021 w JavaScript przez mikey Użytkownik (780 p.)

Hej, mam taki mały problem przy zliczaniu wartości. Ogólnie zasada trochę jak przy koszyku sklepowym a nawet dokładnie taka sama.
Ogólnie to jest jQuery i Laravel ale backendu nie dotyczy.
Jest sobie taka pętla

<div class="items-list">
                        @foreach($category->prices as $item)
                            <div class="row">
                                <div class="col-xl-7 col-lg-7 col-md-7 col-sm-12 col-xs-12">
                                    {!! $item->name !!}
                                </div>
                                <div class="col-xl-1 col-lg-1 col-md-2 col-sm-6 col-xs-6">
                                    {!! $item->price !!}
                                </div>
                                <div class="col-xl-1 col-lg-1 col-md-1 col-sm-6 col-xs-6">
                                    {{ $item->unit }}
                                </div>
                                <div class="col-xl-1 col-lg-1 col-md-1 col-sm-6 col-xs-6">
                                    <input min="1" class="sum-input" data-price="{{ $item->price }}" data-id="{{ $item->id }}" id="quantity-{{$item->id}}" style="padding: 3px" name="prices[{{$item->id}}][quantity]" type="number" placeholder="Ilość" aria-label="Ilość">
                                </div>
                                <div class="col-xl-1 col-lg-1 col-md-1 col-sm-6 col-xs-6">
                                    <span id="sum-{{$item->id}}"></span>
                                </div>
                            </div>
                        @endforeach
                    </div>

i jak widać przy każdym rekordzie jest suma (cena * ilość). Aby obliczać to dynamicznie używam takiego kodu jQuery

 <script>
        $('.sum-input').change(function (e) {
            const price = $(e.target).data('price');
            const id = $(e.target).data('id');
            let quantity = $(e.target).val()
            $('#sum-'+id).text(price * quantity + ' zł')
        });
    </script>

działa to prawidłowo (zlicza cenę dla każdego rekordu po zmianie ilości. Teraz tylko pytanie, jak dynamicznie mogę zmieniać łączną cenę? Takie podsumowanie?

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 99 wizyt
pytanie zadane 26 marca 2019 w JavaScript przez ckrawczyk Początkujący (310 p.)
0 głosów
1 odpowiedź 198 wizyt
0 głosów
0 odpowiedzi 120 wizyt
pytanie zadane 1 stycznia 2021 w JavaScript przez Don Matteo Stary wyjadacz (12,790 p.)

87,946 zapytań

136,526 odpowiedzi

304,410 komentarzy

58,313 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...