⊗jsPrPCPA 25 of 62 menu

Naujo pirkimo pridėjimas produktų skaičiuoklėje

Pirmiausia padarykime taip, kad paspaudus mygtuką į lentelę būtų pridedama nauja eilutė su pirkimu:

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 = 'pašalinti'; td.classList.add('remove'); tr.appendChild(td); table.appendChild(tr); });

Mano pateiktas sprendimas, tačiau, turi aiškius problemas su kodo dubliavimu: faktiškai kiekvienam langeliui mes rašome tą patį kodą.

Būtų tikslinga turėti tam tikrą funkciją lentelės langelių kūrimui. Tegul ši funkcija pirmu parametru priima nuorodą į lentelės eilutę, antru parametru - lentelės langelio tekstą, o trečiu - lentelės langelio CSS klasės pavadinimą:

function createCell(tr, value, name) { }

Turėdami tokią funkciją mes galėtume perrašyti aukščiau pateiktą kodą taip:

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

Įgyvendinkite manęs aprašytą funkciją createCell.

Nukopijuokite mano kodą naujo pirkimo pridėjimui. Ištestuokite naujo pirkimo pridėjimą į lentelę.

Modifikuokite funkciją createCell taip, kad ji grąžintų per return sukurtą lentelės langelį.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti