Sortera tabeller på webben
Till min stora glädje ser jag att tabeller på webben allt oftare används, som de ska, för att presentera data snarare än för design.
En nackdel med presentation av data i tabeller på webben är dock generellt att det inte går att sortera tabellen enligt valfri kolumn. I andra applikationer är det mer regel än undantag att det just går att sortera.
Många utvecklare löser detta genom att låta användarens klick på en rubrik leda till en ny fråga till databasen, sidan laddas om och voilá! så presenteras tabellen med en ny sortering. Dilemmat är dock att detta är resurskrävande och en ny databasfråga tar tid att ställa.
Måste vi verkligen hämta all data igen från databasen, bara för att sortera om den? Givetvis inte. Ta en titt på sammanställningen nedan över några av mina drömmotorcyklar.
Sortera kolumner utan att ladda om sidan
Leverantör | Modell | Slagvolym (cc) | Pris |
---|---|---|---|
Aprilia | Pegaso | 650 | 75 998 |
BMW | F650 GS | 652 | 80 500 |
Honda | Transalp XL650V | 650 | 69 901 |
Suzuki | V-strom 650 | 650 | 79 900 |
Triumph | Tiger | 955 | 114 990 |
Yamaha | XT660R | 660 | 54 900 |
Klicka på en rubrik och datat sorteras om i stigande eller fallande ordning, om du har JavaScript.
Och eftersom du undrar, visst är detta en lösning som inte ställer till bekymmer avseende tabellens tillgänglighet. Koden för tabellen följer standarder och W3Cs rekommendationer.
Om du vill erbjuda JavaScript-fattiga användare en alternativ lösning för sotering går det fortfarande att komplettera med en lösning som hämtar ny data och laddar om sidan. Huruvida det behovet finns måste du själv ta ställning till. Lösningen som presenteras här ger dig dock ett snabbt och smidigt sätt att göra tabellerna dynamiska för merparten av dina besökare.
Så här gör du för att möjliggöra sortering av dina kolumner
1. Inkludera skriptet, så här:
<script src="sorttable.js">></script>
2. Markera tabellen som sorteringsbar genom att ange klassen “sortable”:
<table class="sortable">
3. Säkerställ att tabellen har ett id-nummer:
<table class="sortable" id="unikt_id">
Skriptet bifogas. Glöm inte att snygga till tabellen med CSS.
(Källa: The Daily Kryogenix: sorttable)