⊗jsPrPCPA 25 of 62 menu

Προσθήκη νέας αγοράς στον υπολογιστή προϊόντων

Για αρχή, ας κάνουμε έτσι ώστε με πάτημα στο κουμπί να προστίθεται ένα νέο σειρά με την αγορά στον πίνακα:

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 = 'διαγραφή'; td.classList.add('remove'); tr.appendChild(td); table.appendChild(tr); });

Η λύση που παρέθεσα, ωστόσο, έχει εμφανή προβλήματα με τον διπλασιασμό του κώδικα: πρακτικά για κάθε κελί γράφουμε τον ίδιο κώδικα.

Θα ήταν σκόπιμο να έχουμε κάποια συνάρτηση για τη δημιουργία κελιού πίνακα. Ας παίρνει αυτή η συνάρτηση ως πρώτη παράμετρο μια αναφορά στη σειρά του πίνακα, ως δεύτερη παράμετρο - το κείμενο του κελιού του πίνακα, και ως τρίτη - το όνομα της CSS κλάσης του κελιού:

function createCell(tr, value, name) { }

Έχοντας μια τέτοια συνάρτηση θα μπορούσαμε να ξαναγράψουμε τον παραπάνω κώδικα ως εξής:

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, 'διαγραφή', 'remove'); table.appendChild(tr); });

Υλοποιήστε τη συνάρτηση createCell που περιέγραψα.

Αντιγράψτε τον κώδικά μου για την προσθήκη νέας αγοράς. Δοκιμάστε την προσθήκη νέας αγοράς στον πίνακα.

Τροποποιήστε τη συνάρτηση createCell έτσι, ώστε να επιστρέφει μέσω return το δημιουργημένο κελί του πίνακα.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη