Նոր գնում ավելացնելը ապրանքների հաշվիչում
Սկսելու համար եկեք անենք, որ սեղմելով կոճակի վրա՝ աղյուսակում ավելանա նոր տող գնումով.
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-ի միջոցով վերադարձնի
ստեղծված աղյուսակի բջիջը։