Jumla ya Jumla katika Kikokotoo cha Bidhaa kwenye JavaScript
Hebu sasa tufanye ili chini ya jedwali ionyeshe jumla ya jumla ya ununuzi. Kuna nuances hapa.
Ukikagua hali kwa umakini, itakuwa wazi kuwa jumla inapaswa kurekebishwa sio tu wakati wa kuongeza ununuzi mpya, bali pia wakati wa kufuta na wakati wa kuhariri.
Napendekeza katika kesi kama hiyo kutengeneza
baadhi ya kazi, tuiite recountTotal,
ambayo itafanya upya hesabu kamili
ya jumla. Hiyo ni, itapita kwa mzunguko kupitia
ununuzi wote na muhtasari yaliyomo kwenye safu
ya cost.
Kukiwa na kazi kama hiyo, tutaweza kuiita popote pale ambapo mabadiliko yoyote ya jumla yanatarajiwa. Bila shaka, si bora kila wakati kukokotoa jumla ya jumla. Lakini tutapata urahisisho mkubwa wa msimbo.
Tutumie kazi inayotarajiwa wakati wa kuunda ununuzi mpya:
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, 'futa', 'remove');
table.appendChild(tr);
recountTotal(); // tutahesabu upya jumla ya jumla
});
Hapa kuna muundo wa kazi iliyoelezewa:
function recountTotal() {
let costs = table.querySelectorAll('.cost');
if (costs) {
// tutafute jumla na kuiandika kwenye #total
}
}
Tekeleza kazi recountTotal niliyoielezea.