Wysiging van aankope in 'n produkberekenaar
Laat ons nou die wysiging van selle implementeer.
Volgens die voorwaarde kan slegs die eerste
3 selle gewysig word.
Hier is hulle:
createCell(tr, name.value, 'name');
createCell(tr, price.value, 'price');
createCell(tr, amount.value, 'amount');
Dit is duidelik dat die kode vir wysiging
dieselfde sal wees vir elke sel: op 'n dubbelkliek
moet 'n invoerveld verskyn in plaas van die selteks,
en op 'n druk van Enter in die invoerveld
moet die inhoud daarvan die nuwe selteks word.
Ek stel voor om 'n funksie te maak wat 'n tabelsel as parameter sal neem en die moontlikheid van wysiging daaraan sal koppel:
function allowEdit(td) {
td.addEventListener('dblclick', function() {
});
}
Dan kan ons ons funksie soos volg toepas:
allowEdit(createCell(tr, name.value, 'name'));
allowEdit(createCell(tr, price.value, 'price'));
allowEdit(createCell(tr, amount.value, 'amount'));
Die oplettende leser kan sien dat
nie alle selle dieselfde is nie: want wanneer
die sel met die prys of die sel met die hoeveelheid verander,
moet die koste van die aankoop in die cost-kolom verander,
en ook moet die totale som herbereken word.
Hierdie fyn punt laat ons as 'n volgende subtask vir oplossing in die volgende les. En om te begin maak ons net die moontlikheid om ons drie selle te wysig, sonder herberekening.
Implementeer die wysiging van selle soos deur my beskryf.