Pirkinių redagavimas maisto produktų skaičiuoklėje

Dabar įgyvendinkime langelių redagavimą. Pagal sąlygą redaguoti galima tik pirmuosius 3 langelius.

Štai juos:

javascriptcreateCell(tr, name.value, 'name');
createCell(tr, price.value, 'price');
createCell(tr, amount.value, 'amount');

Akivaizdu, kad redagavimo kodas bus vienodas kiekvienam langeliui: dukart paspaudus vietoj langelio teksto turėtų pasirodyti įvesties laukas, o paspaudus Enter įvesties lauke jo turinys turėtų tapti naujuoju langelio tekstu.

Siūlau sukurti tam tikrą funkciją, kuri parametru priims lentelės langelį ir priskirs jam redagavimo galimybę:

javascriptfunction allowEdit(td) {
  td.addEventListener('dblclick', function() {
    
  });
}

Tada mes galime pritaikyti mūsų funkciją taip:

javascriptallowEdit(createCell(tr, name.value, 'name'));
allowEdit(createCell(tr, price.value, 'price'));
allowEdit(createCell(tr, amount.value, 'amount'));

Dėmesingas skaitytojas gali pastebėti tai, kad ne visi langeliai yra vienodi: juk pakeitus langelį su kaina arba langelį su kiekiu turėtų keistis pirkimo kaina stulpelyje cost, taip pat turėtų būti perskaičiuota bendra suma.

Šį niuansą paliksime kaip kitą užduotį sprendimui kitoje pamokoje. O pradžiai tiesiog sukurkime galimybę redaguoti mūsų tris langelius, be perskaičiavimo.

Задание 1

Įgyvendinkite manimi aprašytą langelių redagavimą.