⊗jsPrPCPA 25 of 62 menu

Uue ostu lisamine toodete kalkulaatoris

Alustuseks teeme nii, et nupu vajutamisel lisatakse tabelisse uus rida ostuga:

add.addEventListener('click', function() { let tr = document.createElement('tr'); let td; td = document.createElement('td'); td.textContent = name.value; td.classList.add('name'); tr.appendChild(td); td = document.createElement('td'); td.textContent = price.value; td.classList.add('price'); tr.appendChild(td); td = document.createElement('td'); td.textContent = amount.value; td.classList.add('amount'); tr.appendChild(td); td = document.createElement('td'); td.textContent = price.value * amount.value; td.classList.add('cost'); tr.appendChild(td); td = document.createElement('td'); td.textContent = 'kustuta'; td.classList.add('remove'); tr.appendChild(td); table.appendChild(tr); });

Minu poolt toodud lahendusel on aga ilmsed probleemid koodi dubleerimisega: tegelikult kirjutame iga lahtri jaoks sama koodi.

Oleks asjakohast omada mõnda funktsiooni tabeli lahtri loomiseks. Olgu selle funktsiooni esimene parameeter viide tabeli reale, teine parameeter - tabeli lahtri tekst, ja kolmas - lahtri CSS klassi nimi:

function createCell(tr, value, name) { }

Olles sellise funktsiooni, saaksime ülaltoodud koodi ümber kirjutada järgmiselt:

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, 'kustuta', 'remove'); table.appendChild(tr); });

Rakendage minu poolt kirjeldatud funktsioon createCell.

Kopeerige minu kood uue ostu lisamiseks. Testige uue ostu lisamist tabelisse.

Modifitseerige funktsiooni createCell nii, et see tagastab return-iga loomise tulemusel saadud tabeli lahtri.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu