Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: JQuery vytvoření tabulky

Aktivity
Avatar
David Šabacký:12.5.2021 0:57

Ahoj,

měl bych, asi začátečnický dotaz.
Mám definovanou tabulku a potřebuju do ní, pomocí JQuery dostat řádky a buňky.
Když napíšu:

var $table_text=$('<tr><td­><span>XXXX </td><td><input type=text name="des" value="'+ des + '"></td> <td> <img onclick="save('y')" src=./icons/sa­ve.png></td></­tr>');

$table_text.ap­pend('<tr><td><­span>' + lang.profile.pas­sword + '</td></tr>');

$('.evy_table')­.append($table_tex­t);

Zobrazí se mi vše jako jeden řádek, jako kdyby ignoroval druhé <tr></tr>.

moc děkuju

Zkusil jsem: pokud to vše dám do jednoho řádku tedy pod var $table_text ... je vše v pořádku.

Editováno 12.5.2021 0:58
 
Odpovědět
12.5.2021 0:57
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:12.5.2021 9:21

Na co jsi prisel prohlizenim dokumentace a hledanim prikladu googlem? Ty jsi nic z toho nezkusil? Cely svet mas pripojeny...

https://api.jquery.com/append/
Type: htmlString or Element or Text or Array or jQuery

jquery je jakysi class, soubor s funkcemi. $('text') je obvykle zapis pro ** vyhledavani** css id #neco nebo css class .neco nebo html tagu. Autori misto normalniho, slovniho, nazvu pouzili znak $ coz muze vest ke zmatkum Tudiz, ten zapis se mi nezda? Nicmene, v dokumentaci ho vesele pouzivaji :)

var $table_text=$('<tr><td><span>XXXX </td><td><input type=text name="des" value="'+ des + '"></td> <td> <img onclick="save('y')" src=./icons/save.png></td></tr>'); // nesmysl
var $table_text='<tr><td><span>XXXX </td><td><input type=text name="des" value="'+ des + '"></td> <td> <img onclick="save('y')" src=./icons/save.png></td></tr>'; // lepsi
var table_text='<tr><td><span>XXXX </td><td><input type=text name="des" value="'+ des + '"></td> <td> <img onclick="save('y')" src=./icons/save.png></td></tr>'; // jeste lepsi, ten dolar tam byt nemusi, je to zkratka prosty js string, obycejna promenna

$('.evy_table').append($table_text);
$('.evy_table').append(table_text); // pro jeste lepsi
// az funkce append z toho vytvori html tagy

Ok, takze to lze zapsat jako string. Co dal? No, ten string mas zapsany ale spatne. Nepracujes pri psani kodu s js/chybovou konzolou prohlizece?

<tr><td><span>XXXX </td><td><input type=text name="des" value="'
+ des +
'"></td> <td> <img onclick="save(' // tady mas chybu v apostrofu
y
')" src=./icons/save.png></td></tr>' // a tady taky, na zacatku

Tu chybu vidis tez tady pri obarvovani kodu. Nepouzivas editor, co obarvuje kod? Vse je pekne zelene a Y je najednou bile, podobne jako +des+, coz je podezrele, ne?

Ok, co s tim?

1. '...&quote...' - zapis html entitou, tomu se mozna nevyhnes u slozitejsiho kodu
2. '...\'...' - pouzit zpetne lomitko
3, Muzes pouzit papametr, ktery element zna
<span title="y" onclick="funkce(this.title);">klikni na mne</span>
title, class a jine, podle dokumentace ke zvolene verzi html
<span data-target="y" onclick="funkce(this.data.target);">klikni na mne</span> // tohle je mozna jeste lepsi, data je univerzalni pole
<span data-target="y" onclick="funkce(this)">klikni na mne</span> // a nebo predavat this a funkce si uz data zpracuje sama
Editováno 12.5.2021 9:23
 
Nahoru Odpovědět
12.5.2021 9:21
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:12.5.2021 9:26
'<tr><td><span>XXXX </td><td><input type=text name="des" value="' // EDIT: tady jsem na zacatku zapomnel apostrof, proto se to neobarvilo stejne zelene jako u toho kodu nad tim, tez by bylo krasne videt, ze Y je jinou nez zelenou barvou, ale v tomto pripade melo byt spravne take zelenou
+ des +
'"></td> <td> <img onclick="save(' // tady mas chybu v apostrofu
y
')" src=./icons/save.png></td></tr>' // a tady taky, na zacatku
 
Nahoru Odpovědět
12.5.2021 9:26
Avatar
Odpovídá na Peter Mlich
David Šabacký:12.5.2021 22:27

Ahoj,

moc díky. Pokud jde o chybu ve stringu, je to jen proto, že jsem zjednodušoval ten řádek. Jinak mi to samozřejmě chodilo a chybovou consoly používám.

Zatím a ještě jednou díky

David

 
Nahoru Odpovědět
12.5.2021 22:27
Avatar
JsonKody
Člen
Avatar
JsonKody:22.11.2021 8:27

Proč tu v roce 2021 vidím používat jQuery na basic veci? Ty ty ty! xD

 
Nahoru Odpovědět
22.11.2021 8:27
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:22.11.2021 8:39

Lepsi dotaz, proc nekdo otevira mrtva temata, 6 a vic mesicu stara. Ktera uz nejspis autor stejne cist nebude :)

 
Nahoru Odpovědět
22.11.2021 8:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.