⊗jsPrPCPE 28 of 62 menu

Edycja zakupów w kalkulatorze produktów

Zaimplementujmy teraz edycję komórek. Zgodnie z warunkiem edytować można tylko pierwsze 3 komórki.

Oto one:

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

Oczywiste jest, że kod do edycji będzie identyczny dla każdej komórki: po podwójnym kliknięciu zamiast tekstu komórki powinno pojawić się pole input, a po naciśnięciu Enter w polu input jego zawartość powinna stać się nowym tekstem komórki.

Proponuję utworzyć pewną funkcję, która parametrem będzie przyjmować komórkę tabeli i przypisywać do niej możliwość edycji:

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

Wtedy możemy zastosować naszą funkcję w następujący sposób:

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

Uważny czytelnik może zauważyć, że nie wszystkie komórki są takie same: przy zmianie komórki z ceną lub komórki z ilością powinna zmieniać się wartość zakupu w kolumnie cost, a także powinno być wykonywane przeliczenie całkowitej sumy.

Tę kwestię pozostawimy jako kolejne podzadanie do rozwiązania w następnej lekcji. Na początek po prostu zróbmy możliwość edycji naszych trzech komórek, bez przeliczania.

Zaimplementuj opisaną przeze mnie edycję komórek.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć