Редактиране с преизчисление в калкулатор за продукти на JavaScript
Нека сега доразвием функцията allowEdit
така, че да се изпълнява описаното в предишния
урок преизчисление.
Към този момент кодът на вашата функция трябва да изглежда приблизително така:
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;
}
});
});
}
Нека добавим код, който за клетка с цена и за клетка с количество ще изпълнява преизчисление:
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')) {
// изпълним преизчисление
}
}
});
});
}
Допишете липсващата част от кода така, че
при промяна на клетка с цена или клетка с
количество да се променя стойността на покупката
в колоната cost, както и да се изпълнява
преизчисление на общата сума.