Izmena kupovina u kalkulatoru namirnica
Hajde sada da implementiramo izmenu ćelija.
Prema uslovu, može se menjati samo prvih
3 ćelije.
Evo ih:
createCell(tr, name.value, 'name');
createCell(tr, price.value, 'price');
createCell(tr, amount.value, 'amount');
Očigledno je da će kod za izmenu biti
isti za svaku ćeliju: na dvoklik
umesto teksta ćelije treba da se pojavi
input, a na pritisak Enter u input-u
njegov sadržaj treba da postane novi tekst ćelije.
Predlažem da napravimo neku funkciju koja će kao parametar primati ćeliju tabele i vezivati za nju mogućnost izmene:
function allowEdit(td) {
td.addEventListener('dblclick', function() {
});
}
Tada možemo primeniti našu funkciju na sledeći način:
allowEdit(createCell(tr, name.value, 'name'));
allowEdit(createCell(tr, price.value, 'price'));
allowEdit(createCell(tr, amount.value, 'amount'));
Pažljivi čitalac može primetiti to,
da nisu sve ćelije iste: jer pri promeni
ćelije sa cenom ili ćelije sa količinom treba da se
promeni vrednost kupovine u koloni cost,
a takođe treba da se izvrši preračun ukupne sume.
Ovaj nijans ćemo ostaviti kao sledeći podzadatak za rešavanje u sledećoj lekciji. A za početak samo napravimo mogućnost izmene naših tri ćelije, bez preračunavanja.
Implementirajte opisanu izmenu ćelija.