⊗jsPrPCPA 25 of 62 menu

Uuden ostoksen lisääminen tuotelaskurissa

Aluksi tehdään niin, että painiketta painamalla taulukkoon lisätään uusi rivi ostoksella:

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

Esittämäni ratkaisussa on kuitenkin selviä ongelmia koodin toistamisen kanssa: käytännössä jokaiselle solulle kirjoitamme saman koodin.

Olisi tarkoituksenmukaista olla jokin funktio taulukkosolun luomiseksi. Olkoon tämä funktio ensimmäisenä parametrina viittaus taulukkoriviin, toisena parametrina - taulukkosolun teksti, ja kolmantena - taulukkosolun CSS-luokan nimi:

function createCell(tr, value, name) { }

Jos meillä olisi tällainen funktio, voisimme kirjoittaa yläpuolella olevan koodin uudelleen seuraavasti:

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

Toteuta kuvaamani funktio createCell.

Kopioi koodini uuden ostoksen lisäämiseksi. Testaa uuden ostoksen lisäämistä taulukkoon.

Muokkaa funktiota createCell niin, että se palauttaa return:lla luodun taulukkosolun.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää