Redagavimas su perskaičiavimu produktų skaičiuoklėje JavaScript
Dabar patobulinkime funkciją allowEdit
taip, kad būtų vykdomas ankstesnėje pamokoje
aprašytas perskaičiavimas.
Šiuo metu jūsų funkcijos kodas turėtų atrodyti maždaug taip:
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;
}
});
});
}
Pridėkime kodą, kuris kainos langeliui ir kiekio langeliui atliks perskaičiavimą:
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')) {
// atliksime perskaičiavimą
}
}
});
});
}
Parašykite trūkstamą kodo dalį taip, kad
pakeitus kainos langelį ar kiekio langelį,
pirkimo kaina stulpelyje cost pasikeistų,
taip pat būtų atliktas bendros sumos perskaičiavimas.