⊗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štinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語Қазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა