Autor | Zpráva | ||
---|---|---|---|
Taps Profil |
Zdravím, mohl by mi někdo pomocí s tím jak pomocí javascriptu načíst uvedené řádky tabulky od konce (ukázka je zjednodušená, tabulka obsahuje daleko více řádku, ale struktura zůstává stejná) a to tak , že se na html stránce tabulka zobrazí dle vzoru, který uvádím pod tabulkou. Děkuji
<table style="float: left;" width="650"> <tr> <td colspan="2" width="650"></td> </tr> <tr> <td width="400">nadpis_1</td><td width="250">rok_1</td> </tr> <tr> <td colspan="2" width="650">popis_1</td> </tr> <tr> <td colspan="2" width="650"></td> </tr> <tr> <td width="400">nadpis_2</td><td width="250">rok_2</td> </tr> <tr> <td colspan="2" width="650">popis_2</td> </tr> <tr> <td colspan="2" width="650"></td> </tr> . . . . </table> popis_2 prázdný řádek nadpis_1 rok_1 popis_1 prázdný řádek Zkoušel jsem níže uvedený kod, ten mi sice tabulku otočí, ale nevím jak změnit pořadí řádků jQuery(document).ready(function(){ var pole = []; jQuery("table").each(function(elem,index){ var arr = jQuery.makeArray(jQuery("tr",this).detach()); arr.reverse(); jQuery(this).append(arr); }); }); |
||
Str4wberry Profil |
#2 · Zasláno: 29. 9. 2015, 13:37:16
K otočení tabulky by mělo stačit projít všechny řádky a postupně přesouvat poslední řádek před aktuální: Odkaz
|
||
Taps Profil |
#3 · Zasláno: 29. 9. 2015, 14:26:03
Str4wberry:
Děkuji |
||
Kcko Profil |
#4 · Zasláno: 29. 9. 2015, 22:06:42
Taps:
Napsal bych to pomocí jQuery trošku jinak a snadněji: var $table = $("table"); // najdeme nasi tabulku var $rows = $table.find("tr").get().reverse(); // vyzobeme radky; ziskame je jako DOM kolekci a otocime jejich poradi = cele je to pole $table.empty().append($rows); // vyprazdnime nasi tabulku a vlozime otocene radky |
||
Taps Profil |
#5 · Zasláno: 29. 9. 2015, 22:52:11
Kcko [#4]:
Diky..je jeste mozne, aby na prvni pozicich byl radek s nadpiaem a rokem a teprve pod nimi popis? |
||
Kcko Profil |
#6 · Zasláno: 30. 9. 2015, 09:37:26
Taps:
Přesortovat to pole podle nějaké tvojí logiky, kterou já tam moc nevidím, když vidím prázdný řádek, vyplněno, vyplněno, vyplněno, prázdný řádek a bůh ví jak jestli je to tak všude stejné. |
||
Chamurappi Profil |
#7 · Zasláno: 30. 9. 2015, 23:19:24
Reaguji na Tapse:
„je jeste mozne, aby na prvni pozicich byl radek s nadpiaem a rokem a teprve pod nimi popis?“ Dej první řádek do <thead> , ostatní do <tbody> a pak rovnej jen <tbody> . Pokud jsem dobře pochopil, co se snažíš napsat…
Reaguji na Kcka: „ // vyprazdnime nasi tabulku “
Není nutné ji vyprázdňovat. Nebo ona tam nějak vzniká kopie řádků? Při standardní práci s DOMem ne, element se z původní pozice vyjme sám, když je vložen na nové místo. |
||
_es Profil |
#8 · Zasláno: 1. 10. 2015, 09:35:31
Chamurappi:
„Není nutné ji vyprázdňovat.“ Môže to však byť vhodné z hľadiska výkonu - ak má tabuľka veľa riadkov. Pri veľa riadkoch by bolo asi najrýchlejšie, ak sa celá tabuľka vyjme z DOM a až po jej úprave vloží späť. |
||
Kcko Profil |
#9 · Zasláno: 1. 10. 2015, 12:50:43
Chamurappi:
Není to asi nutné, tyhle přesouvací / vkládací metody z jQuery původní DOM vyjmou, takže to není skutečně třeba. Nicméně, jsem zvyklý cílové místo nejdříve "vyčistit" a jak píše _es, přijde mi, že to bude o něco šetrnější na výkon. |
||
Časová prodleva: 9 let
|
0