Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Najprostrze sortowanie
S_Olewniczak
post 12.04.2009, 19:21:12
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

Ostrzeżenie: (0%)
-----


Czy ktoś może mi napisać gotowy skrypt, lub naprowadzić, jak zrobić najprostszą funkcje do sortowania tabelki w js. Funkcja miała by trzy parametry
1. tabelka
2. Dowolny td z kolumny
3. Desc lub ASC
Bardzo proszę o pomoc.
Powód edycji: [erix] przeniosłem
Go to the top of the page
+Quote Post
korro
post 12.04.2009, 19:50:02
Post #2





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

Ostrzeżenie: (0%)
-----


Witam.
TableSorter.
Bardzo prosta konstrukcja.


--------------------
Go to the top of the page
+Quote Post
S_Olewniczak
post 12.04.2009, 21:05:28
Post #3





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

Ostrzeżenie: (0%)
-----


Chciałbym coś jeszcze prostszego. Po prostu funkcję sortującą tabelkę, bez żadnych wyborów po prostu: podaje tabelkę do funkcji, posortowane wg jakiegoś pola i po sprawie.
Go to the top of the page
+Quote Post
korro
post 13.04.2009, 00:28:59
Post #4





Grupa: Zarejestrowani
Postów: 259
Pomógł: 42
Dołączył: 8.04.2005
Skąd: Mława

Ostrzeżenie: (0%)
-----


Ok. Napisz skąd masz dane do tej tabeli.


--------------------
Go to the top of the page
+Quote Post
S_Olewniczak
post 13.04.2009, 08:52:55
Post #5





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

Ostrzeżenie: (0%)
-----


Nie bardzo rozumiem. Mam zwykłą tabelkę:
Kod
<table>
<tr><td>Test</td></tr>
</table>
Go to the top of the page
+Quote Post
piotrooo89
post 13.04.2009, 08:59:56
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a takie coś: http://olaszewski.com/2009/04/07/dynamiczna-tabelka-a-mysql/

w googlach jest tego pełno:

GOOGLE KLIK

Ten post edytował piotrooo89 13.04.2009, 09:02:20


--------------------
Go to the top of the page
+Quote Post
S_Olewniczak
post 14.04.2009, 15:59:41
Post #7





Grupa: Zarejestrowani
Postów: 189
Pomógł: 1
Dołączył: 28.01.2008

Ostrzeżenie: (0%)
-----


Trochę pobolało ale w końcu sam napisałem funkcję o którą mi chodziło.
Wywołując funkcję sortTable jako pierwszy parametr podajesz tabelkę, jako drugi dowolne pole(td) z kolumny którą chcesz sortować, a jako trzeci jak sortować:
ros - rosnąco
mal - malejąco
Oto kod(zawiera jedną funkcję pomocniczą):
Kod
         function getNrInParent(child) {
         tds = child.parentNode.getElementsByTagName('td');
        
             for(var i=0;i<tds.length;i++) {
                 if(tds[i] == child) return i;
             }
         }
         function sortTable(table, td, how) {
         var trs = table.getElementsByTagName('tr');
        
         for(var i=1;i<trs.length;i++) {
         var actTr = trs[i];
        
         var tds = trs[i].getElementsByTagName('td');
        
         var nr = getNrInParent(td);
        
         var ActTd = tds[nr].innerHTML;
        
        
         for(var j=1;j<trs.length;j++) {//op wszystkich wierszach z wyj 1(nagłówki)
         var WieszAkt = trs[j].getElementsByTagName('td')[nr].innerHTML;
             if ((WieszAkt > ActTd && how=='ros') || (WieszAkt < ActTd && how=='mal')) {
                 table.insertBefore(actTr ,trs[j]);
                 var add = 1;break;
             }
         }//for
         if(!add) {
             //element na końcu
         table.appendChild(actTr);
         }
         }//endfor
         }//function

Może komuś się kiedyś przyda.
Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.06.2024 - 21:48