2. Metoda ...definovat jednotlivě <td> který klíč se v něm má vykreslit a ten 11tý vynechat a tato metoda mi právě nešla
Vy jste původně psal o tom, že chcete tu hodnotu použít při nastavení posluchače události.
Pokud chcete ten klíč vynechat, prostě do výpisu těch sloupců přidejte podmínku. Nebo jinak – ve skutečnosti je ten kód špatně, protože iteruje přes klíče v mapě, což nemá definované pořadí. Ve skutečnosti by se vám tedy hodnoty do tabulky vypsali jinak, než jak máte uvedené názvy sloupců, a teoreticky by mohly být hodnoty uspořádané jinak i v každém řádku tabulky. Takže správně je potřeba vyjmenovat ve správném pořadí klíče, které se mají do tabulky vložit. A v tom výčtu akorát vynecháte ten údaj, který tam mít nechcete. Takže:
function createTable1(json) {
var table = $("<table>", { id: 'kw-list' }); //tabulka má id, takže je zbytečné cpát jí inline styly, lepší je ostylovat to id v externím stylu
var thead = table.append($("<thead>"));
var tr = thead.append($("<tr>"));
tr.append($("<th>", { id: 'listOfKW', colspan: 10, text: 'List of the KW' }));
tr = thead.append($("<tr>")); //opět lepší nastylovat přes externí CSS
tr.append($("<th>", { class: 'listOfKW', text: 'Letter' }))
.append($("<th>", { class: 'listOfKW', text: 'Commission' }))
.append($("<th>", { class: 'listOfKW', text: 'Status' }))
.append($("<th>", { class: 'listOfKW', text: 'KW' }))
.append($("<th>", { class: 'listOfKW', text: 'P' })) //měl jste tam id, ale to musí být v rámci dokumentu unikátní
.append($("<th>", { class: 'listOfKW', text: 'CAD' })) //měl jste tam id, ale to musí být v rámci dokumentu unikátní
.append($("<th>", { class: 'listOfKW', text: 'NEST' }))
.append($("<th>", { class: 'listOfKW', text: 'SAP' }))
.append($("<th>", { class: 'listOfKW', text: 'SENT' }));
var tbody = table.append($("<tbody>"));
$.each(json, function (index, row) {
tr = tbody.append('<tr>');
tr.mouseover(function () {
nhpup.popup(row.Items);
});
$.each(['letter', 'commission' /* další sloupce */], function (index, key) {
$('<td>', { class: key + ' ' + row[key], text: row[key] }) //opět styl v externím CSS
.appendTo(tr);
});
//Chybný původní kód, pořadí sloupců není zaručené.
// $.each(row, function (key, value) {
//kdybyste ale tedy chtěl jeden klíč vynechat, prostě jen přidáte podmínku if (key == 'sloupecKVynechani') {return;}
// $('<td>', { class: key + ' ' + value, text: value }) //opět styl v externím CSS
// .appendTo(tr);
// });
});
$('#eachTable').append(table);
}
já vím jak tyto věci fungují
Nemyslím to nijak zle, ale nesouhlasím s vámi. Viděl jsem tu už spoustu vašich dotazů, a je z nich zřejmé, že nějak skládáte kód víceméně metodou pokusu a omylu, ale neznáte ty principy, které jsou za tím, nevíte, jak to dohromady funguje. Já vás nechci kritizovat, nikdo učený z nebe nespadl a každý se to musel nějak naučit – mně ale připadá, že tím vaším způsobem se to nikdy nenaučíte. Upřímně řečeno, četl jsem dost vašich dotazů, kde bych uměl odpovědět a odpověď by byla jednoduchá, ale záměrně jsem na ně neodpovídal – protože tohle podle mne není způsob, jak byste se to mohl naučit. A odpovídat na ty dotazy znamená jenom to, že se prodlužuje doba, než přijdete na to, že tudy cesta nevede – a o to pracnější pak pro vás bude doopravdy se to naučit.
Opravdu to vůči vám nemyslím nijak zle, líbí se mi, že se do toho snažíte proniknout a neodrazuje vás hned, když vám něco nejde – ale o to víc mne mrzí, že jste zvolil cestu, která podle mne k cíli nevede.