⊗jsPrPCTS 26 of 62 menu

Totalbelopp i en livsmedelskalkylator i JavaScript

Låt oss nu göra så att den totala summan av inköpen visas under tabellen. Det finns några nyanser här.

Om man tänker på situationen blir det tydligt att summan måste justeras inte bara när ett nytt köp läggs till, utan även vid borttagning och redigering.

Jag skulle i så fall föreslå att vi skapar en funktion, låt oss kalla den recountTotal, som kommer att utföra en fullständig omberäkning av summan. Den kommer att gå igenom alla inköp i en loop och summera innehållet i deras kolumn cost.

Med en sådan funktion kan vi anropa den var som helst där ändringar av den totala summan förväntas. Det är förstås inte helt optimalt att varje gång beräkna den totala summan. Å andra sidan får vi en betydande förenkling av koden.

Låt oss använda den föreslagna funktionen när ett nytt köp skapas:

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, 'ta bort', 'remove'); table.appendChild(tr); recountTotal(); // beräkna den totala summan på nytt });

Här är en förberedd version av den beskrivna funktionen:

function recountTotal() { let costs = table.querySelectorAll('.cost'); if (costs) { // hitta summan och skriv den till #total } }

Implementera funktionen recountTotal som jag beskrivit.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa