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
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%)
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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> |
|
|
|
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 |
|
|
|
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 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 18:03 |