HTML Listen sortieren mit JQuery

Thomas Darimont

Erfahrenes Mitglied
Hallo,

funktioniert ab JQuery 1.3.2
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Sort html list using jquery</title>
        <script type="text/javascript" src="js/jquery-1.4.min.js"></script>
        <script type ="text/javascript">
            var KEY_ENTER = 13;
            
            function sortByInnerHtml(a, b){
                return a.innerHTML > b.innerHTML ? 1 : -1;
            }
            
            function init(){
            
                var list = $("#list");
                
                function sortList(){
                    list.children().sort(sortByInnerHtml).appendTo(list);
                }
                
                sortList();
                
                $("#addItem").keyup(function(event){
                    if (event.keyCode == KEY_ENTER) {
                        if ($(this).val().trim()) {
                            var newItemToAdd = "<li>" + $(this).val() + "</li>";
                            list.append(newItemToAdd);
                            sortList();
                            $(this).val("");
                        }
                    }
                });
            }
            
            $(init);
        </script>
    </head>
    <body class="sortListExample">
        <label for="addItem">Add new element:</label>
        <input type="text" id="addItem"></input>
        <ul id="list">
            <li>D</li>
            <li>A</li>
            <li>C</li>
            <li>B</li>
        </ul>
    </body>
</html>

Gruß Tom
 
Da gibt es aber (gerade für jQuery) eine noch bessere Möglichkeit...damit kannst du dann auch "alternate"-Farben für die Spalten der Tabelle nutzen..hast im Header der Tabelle (da wo die Spalten-Titel stehen) jeweils ein kleinen Pfeil, welcher die Sortierung anzeigt usw.....extrem cool gemacht :D

Das ganze nennt sich "jquery.tablesorter.js" und gibt es kostenlos zum Download :)
 
Zurück