[skrypt] Kolejność alfabetyczna

HTML to podstawy w dziedzinie tworzenia stron WWW, Style CSS warto opanować, bowiem za ich pomocą można dostosować odpowiednio wygląd swojej witryny WWW. Zagłębiamy się dalej i udostępniamy w tym forum możliwość zadawania pytań o JavaScript.
ODPOWIEDZ
KaRoL
Działa
Działa
Posty: 1071
Rejestracja: czw kwie 03, 2003 2:40 pm

[skrypt] Kolejność alfabetyczna

Post autor: KaRoL »

Potrzebuję skryptu, który ułożyłby mi listę wypracowań na stronie w kolejności alfabetycznej, a dokładniej w ten sposób:
Przepisuję tytuły nie po kolei, a skrypt sam segreguje je w kolejności. Później z aktualizacjami strony dopisuję kolejne nowe pozycje, a skrypt sam je wtyka w odpowiednie miejsce na liście. Da się coś takiego zrobić? Jaki to skrypt?

P.S. Byle nie PHP!
Cobretti
Posty: 18
Rejestracja: śr gru 17, 2003 11:05 am
Lokalizacja: Radom
Kontakt:

Re: [skrypt] Kolejność alfabetyczna

Post autor: Cobretti »

Mam nadzieje ze o cos takiego chodzi:

Kod: Zaznacz cały

http://webmaster.ixadixa.site.pl/skrypty/javascript/linki1.html
i zrodlo z opisem:

Kod: Zaznacz cały

http://webmaster.ixadixa.site.pl/skrypty/javascript/linki1.php
KaRoL
Działa
Działa
Posty: 1071
Rejestracja: czw kwie 03, 2003 2:40 pm

Re: [skrypt] Kolejność alfabetyczna

Post autor: KaRoL »

Chyba znalazłem coś interesującego...
Wklejam tutaj kod i mam nadzieję, że może się komuś przyda:

Kod: Zaznacz cały

<html>
<head>
<title>Sortowanie danych w DHTML</title>
<meta name="description" content="Sortowanie tabeli w JavaScript">
<meta name="kategoria" content="Gości">
<meta name="author" content="BlaTek">
<meta name="email" content="[email protected]">
<meta name="www" content="http://blatek.25.pl">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">

<script type="text/javascript">
function exPL(x){
 return x.toLowerCase().replace(/[ąęśćółńżź]/g,function(s){
  return(s=='ą'?'a':s=='ę'?'e':s=='ś'?'s':s=='ć'?'c':
  s=='ó'?'o':s=='ł'?'l':s=='ń'?'n':s=='ź'?'z':'zż')+'ż'})
}

var Sekcja,Wiersze,Tablica_Wierszy=[]

function initSort(){
 if(!document.getElementById)return
 Sekcja=document.getElementById('Sort_id')
 Wiersze=Sekcja.getElementsByTagName('tr')
 
for(var i=0;i<Wiersze.length;i++)
  Tablica_Wierszy[i]=Wiersze[i].cloneNode(true)
}

function Sortuj(x){
 if(!document.getElementById||!Wiersze)return
 
 Tablica_Wierszy.sort(function(A,B,a,b){
    a=A.getElementsByTagName('td')[x].innerHTML
    b=B.getElementsByTagName('td')[x].innerHTML
	a=exPL(a);b=exPL(b)
    return a>b?1:a<b?-1:0
   }
 )
 
 while(Wiersze.length)
  Sekcja.removeChild(Wiersze[0])
 for(var i=0;i<Tablica_Wierszy.length;i++)
  Sekcja.appendChild(Tablica_Wierszy[i])
}
</script>

</head>

<body onload="initSort()">

<p>
<a href="#" onclick="Sortuj(0);return false">Sortuj według Imienia</a><br>
<a href="#" onclick="Sortuj(1);return false">Sortuj według Nazwiska</a><br>
<a href="#" onclick="Sortuj(2);return false">Sortuj według Zawodu</a><br>
</p>

<table border="1">
 <tbody>
  <tr><th>Imię</th><th>Nazwisko</th><th>Zawód</th></tr>
 </tbody>
 <tbody id="Sort_id">
  <tr><td>Jan</td><td>Kowalski</td><td>kowal</td></tr>
  <tr><td>Maciej</td><td>Kuroń</td><td>kucharz</td></tr>
  <tr><td>Zbigniew</td><td>Zamachowski</td><td>aktor</td></tr>
  <tr><td>Adam</td><td>Małysz</td><td>skoczek</td></tr>
  <tr><td>Bill</td><td>Clinton</td><td>emeryt</td></tr>
  <tr><td>Dorota</td><td>Stalińska</td><td>aktorka</td></tr>
  <tr><td>Krzysztof</td><td>Nowak</td><td>robotnik</td></tr>
  <tr><td>Bolesław</td><td>Chrobry</td><td>król</td></tr>
  <tr><td>Jerzy</td><td>Stuhr</td><td>aktor</td></tr>
  <tr><td>Kamil</td><td>Durczok</td><td>dziennikarz</td></tr>
  <tr><td>Natalia</td><td>Kukulska</td><td>piosenkarka</td></tr>
  <tr><td>Piotr</td><td>Buśka</td><td>webmaster</td></tr>
  <tr><td>Colin</td><td>McRae</td><td>kierowca</td></tr>
  <tr><td>Henryk</td><td>Sienkiewicz</td><td>pisarz</td></tr>
  <tr><td>Kazimierz</td><td>Wielki</td><td>król</td></tr>
  <tr><td>Bogdan</td><td>Piekarski</td><td>piekarz</td></tr>
  <tr><td>Stanisław</td><td>Moniszko</td><td>muzyk</td></tr>
  <tr><td>Adam</td><td>Mickiewicz</td><td>pisarz</td></tr>
 </tbody>
</table>

</body>
</html>
ODPOWIEDZ