Redigering af indkøb i madvareregneren

Lad os nu implementere redigering af celler. Ifølge betingelserne kan kun de første 3 celler redigeres.

Her er dem:

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

Det er indlysende, at koden til redigering vil være den samme for hver celle: ved dobbeltklik skal der vises en input i stedet for celleteksten, og ved tryk på Enter i inputfeltet skal dens indhold blive celletens nye tekst.

Jeg foreslår at lave en funktion, som tager en tabelcelle som parameter og binder muligheden for redigering til den:

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

Så kan vi anvende vores funktion på følgende måde:

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

Den opmærksomme læser vil måske bemærke, at ikke alle celler er ens: når en celle med pris eller en celle med antal ændres, bør omkostningen ved købet i kolonnen cost ændres, og den samlede sum bør genberegnes.

Denne nuance vil vi efterlade som en næste delopgave til løsning i næste lektion. Til at starte med vil vi bare lave muligheden for at redigere vores tre celler, uden genberegning.

Задание 1

Implementer den celleredigering, jeg har beskrevet.