Vytvorenie HTML tabuľky z poľa objektov
Predpokladajme, že máme dané nejaké pole objektov, napríklad takéto pole s používateľmi:
let users = [
{
name: 'name1',
surname: 'surname1',
patronymic: 'patronymic1'
},
{
name: 'name2',
surname: 'surname2',
patronymic: 'patronymic2'
},
{
name: 'name3',
surname: 'surname3',
patronymic: 'patronymic3'
},
];
Vytvorme z tohto poľa HTML tabuľku, do ktorej do každého riadku zapíšeme údaje jednotlivého používateľa.
Pri takejto štruktúre ukladania údajov sa zvyčajne spustí jedna slučka cez pole a každá bunka tabuľky sa vytvorí manuálne, takto:
<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);
}
Tento prístup poskytuje veľkú flexibilitu - môžeme sami regulovať poradie umiestnenia údajov v bunkách tabuľky (môžeme napríklad vymeniť meno a priezvisko).
Okrem toho, v prípade potreby môžeme pripájať udalosti na určité bunky. Napríklad, na bunku s priezviskom môžeme pripojiť nejakú akciu pri kliknutí a podobne.
Dané je nasledujúce pole so zamestnancami:
let employees = [
{name: 'employee1', age: 30, salary: 400},
{name: 'employee2', age: 31, salary: 500},
{name: 'employee3', age: 32, salary: 600},
];
Vypíšte prvky tohto poľa vo forme HTML tabuľky.
Upravte predchádzajúcu úlohu tak, aby
pri kliknutí na akúkoľvek bunku s vekom jej obsah
sa zvýšil o 1.
Upravte predchádzajúcu úlohu tak, aby
pri kliknutí na akúkoľvek bunku so mzdou jej obsah
sa zvýšil o 10%.