⊗jsPrPCTS 26 of 62 menu

Całkowita suma w kalkulatorze produktów w JavaScript

Zróbmy teraz tak, aby pod tabelą wyświetlała się całkowita suma zakupów. Są tu niuanse.

Jeśli przemyśleć sytuację, to stanie się jasne, że suma powinna korygować się nie tylko przy dodawaniu nowego zakupu, ale także przy usuwaniu i edycji.

Proponuję w takim przypadku zrobić pewną funkcję, nazwijmy ją recountTotal, która będzie wykonywać pełne przeliczenie sumy. To znaczy będzie przechodzić pętlą po wszystkich zakupach i sumować zawartość ich kolumny cost.

Mając taką funkcję, będziemy mogli wywoływać ją w dowolnym miejscu, gdzie przewidywane są jakieś zmiany całkowitej sumy. Oczywiście, trochę nie optymalnie za każdym razem przeliczać całkowitą sumę. Ale otrzymamy znaczną prostotę kodu.

Użyjmy przewidywanej funkcji przy tworzeniu nowego zakupu:

add.addEventListener('click', function() { let tr = document.createElement('tr'); createCell(tr, name.value, 'name'); createCell(tr, price.value, 'price'); createCell(tr, amount.value, 'amount'); createCell(tr, price.value * amount.value, 'cost'); createCell(tr, 'usuń', 'remove'); table.appendChild(tr); recountTotal(); // przeliczmy całkowitą sumę });

Oto szablon opisanej funkcji:

function recountTotal() { let costs = table.querySelectorAll('.cost'); if (costs) { // znajdujemy sumę i zapisujemy ją w #total } }

Zaimplementuj opisaną przeze mnie funkcję recountTotal.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć