Redigering med genberegning i en vareberegner i JavaScript
Lad os nu forbedre funktionen allowEdit,
så den genberegning, der blev beskrevet i den forrige
lektion, udføres.
På dette tidspunkt skal koden for din funktion se nogenlunde sådan ud:
function allowEdit(td) {
td.addEventListener('dblclick', function() {
let text = td.textContent
td.textContent = '';
let input = document.createElement('input');
input.value = text;
input.focus();
td.appendChild(input);
input.addEventListener('keydown', function(event) {
if (event.key == 'Enter') {
td.textContent = this.value;
}
});
});
}
Lad os tilføje kode, der for cellen med pris og for cellen med antal vil udføre genberegning:
function allowEdit(td) {
td.addEventListener('dblclick', function() {
let text = td.textContent
td.textContent = '';
let input = document.createElement('input');
input.value = text;
input.focus();
td.appendChild(input);
input.addEventListener('keydown', function(event) {
if (event.key == 'Enter') {
td.textContent = this.value;
if (td.classList.contains('price') || td.classList.contains('amount')) {
// udfør genberegning
}
}
});
});
}
Udfyld den manglende del af koden, således at
når en celle med pris eller en celle med
antal ændres, ændres omkostningerne for købet
i kolonnen cost, og den samlede sum også
genberegnes.