HTML táblázat létrehozása objektumtömbből
Tegyük fel, hogy van egy objektumtömbünk, például egy ilyen felhasználókat tartalmazó tömb:
let users = [
{
name: 'name1',
surname: 'surname1',
patronymic: 'patronymic1'
},
{
name: 'name2',
surname: 'surname2',
patronymic: 'patronymic2'
},
{
name: 'name3',
surname: 'surname3',
patronymic: 'patronymic3'
},
];
Készítsünk ebből a tömbből egy HTML táblázatot, ahol minden sorba egy felhasználó adatait írjuk.
Az ilyen adatstruktúrá esetén általában indítanak egy ciklust a tömbön, és manuálisan hozzák létre a táblázat minden celláját, így:
<table id="table"></table>
let table = document.getElementById('table');
for (let user of users) {
let tr = document.createElement('tr');
let td1 = document.createElement('td');
td1.textContent = user.name;
tr.appendChild(td1);
let td2 = document.createElement('td');
td2.textContent = user.surname;
tr.appendChild(td2);
let td3 = document.createElement('td');
td3.textContent = user.patronymic;
tr.appendChild(td3);
table.appendChild(tr);
}
Ez a megközelítés nagy rugalmasságot ad - mi szabályozhatjuk az adatok cellák közötti elhelyezésének rendjét (például felcserélhetjük a keresztnevet és a vezetéknevet).
Ezen túlmenően, ha akarunk, eseményeket rendelhetünk egyes cellákhoz. Például, a vezetéknevet tartalmazó cellához hozzárendelhetünk valamilyen akciót kattintáskor, és így tovább.
Adott a következő alkalmazottakat tartalmazó tömb:
let employees = [
{name: 'employee1', age: 30, salary: 400},
{name: 'employee2', age: 31, salary: 500},
{name: 'employee3', age: 32, salary: 600},
];
Jelenítse meg ennek a tömbnek az elemeit HTML táblázat formájában.
Módosítsa az előző feladatot úgy, hogy
bármely korát tartalmazó cellára kattintáskor a tartalma
1-gyel növekedjen.
Módosítsa az előző feladatot úgy, hogy
bármely fizetést tartalmazó cellára kattintáskor a tartalma
10%-kal növekedjen.