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>
nadpis_2 rok_2
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
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
Str4wberry:
Děkuji
Kcko
Profil
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
Kcko [#4]:
Diky..je jeste mozne, aby na prvni pozicich byl radek s nadpiaem a rokem a teprve pod nimi popis?
Kcko
Profil
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
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
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
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.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: