mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 22:30 Benutzername: Passwort: Auto-Login

Thema: liste mit javascript sortieren? vom 26.01.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> liste mit javascript sortieren?
Seite: 1, 2  Weiter
Autor Nachricht
cmykai
Threadersteller

Dabei seit: 24.04.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 26.01.2009 15:24
Titel

liste mit javascript sortieren?

Antworten mit Zitat Zum Seitenanfang

huhu!

ich suche eine funktion mit der ich eine (lange) liste alphabetisch sortieren kann. hab zwar schon einige sachen gefunden zu dem thema, nur leider sortieren diese funktionen nur zahlen :/ ... da ich leider javascript nur lesen und nicht selber schreiben kann, fänd ich das super wenn mir jemand helfen mag *zwinker*

edit: ich hol nochmal weiter aus ... ich benutze in der seite das lightbox-script. also ich hab halt ne liste mit mit punkten, die auf jeden fall alphabetisch korrekt angeordnet sein müssen. da ich mir arbeit sparen will, wenn ich neue punkte hinzufüge brauch ich so ein script ... ich frage mich halt, ob das lightbox-script nich mit dem sortierungs-script kollidiert Grins

gruß, cmykai


Zuletzt bearbeitet von cmykai am Mo 26.01.2009 15:26, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 26.01.2009 15:53
Titel

Antworten mit Zitat Zum Seitenanfang

Von was für einer Liste redest du überhaupt? Und anhand von welchen Buchstaben soll sortiert werden?

Das musst du schon mal etwas genauer erklären. Aber, grundsätzlich könntest du deine Inhalte in ein
Array packen und dieses sortieren: http://de.selfhtml.org/javascript/objekte/array.htm#sort


Zuletzt bearbeitet von m am Mo 26.01.2009 15:54, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 26.01.2009 15:53
Titel

Antworten mit Zitat Zum Seitenanfang

in welcher form ist denn diese "liste"? isses n array? sinds alles verschiedene variablen?? zeig mal ein ausschnitt deine quelltextes in dem ein teil diese liste beispielhaft zu sehen ist...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 26.01.2009 15:58
Titel

Antworten mit Zitat Zum Seitenanfang

Nein, warum sollte es?

Prinzipielle Vorgehensweise (mit Javascript):

1.) Alle zu sortierenden Elemente als Referenz auf selbige indizieren (bspw. in einem Array of Objects speichern)
2.) Sortieralgorithmus deiner Wahl auf die Werte (bspw. src-Tag der Bilder) anwenden. Ein sehr einfacher Sortieralgorithmus ist bspw. Wikipedia: BubbleSort
3.) Reihenfolge im DOM gem. der Ergebnisse aus Punkt 2 ändern, das kann auch in einem Rutsch geschehen, oder aber halt sequenziell, nachdem du die richtige Reihenfolge in der indizierten Liste hergestellt hat.
4.) Fertig. Da du nur die Reihenfolge des DOMs änders, nicht aber die Objektreferenzen an sich, sollten alle Lightbox-Events weiterhin auf den entsprechenden Links draufliegen.

Ich würde mir aber mal überlegen, ob es übehaupt Sinn macht, erst im Client zu sortieren. Kann das nicht bereits am Server passieren? Normalerweise macht man so'n Spökes nur, wenn man bspw. Sortierbare Tabellen erreichen möchte (sog. DataGrids)
  View user's profile Private Nachricht senden
cmykai
Threadersteller

Dabei seit: 24.04.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 26.01.2009 16:14
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

<ul>
<li>
<a href="bild1.jpg" title="Bild 1">Hans</a>
</li>
<li>
<a href="bild1.jpg" title="Bild 2">Franz</a>
</li>
</ul>


ich möchte halt, dass "hans" nach "franz" angezeigt, ohne dass ich die reihenfolge im quelltext manuell änder. da de liste doch etwas länger is *zwinker*

/es is dient einfach zur bequemlichkeit, wenn ich was neues in die liste einfüge, dass es sofort an die richtige stelle rutscht


Zuletzt bearbeitet von cmykai am Mo 26.01.2009 16:25, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mo 26.01.2009 16:24
Titel

Antworten mit Zitat Zum Seitenanfang

bacon hat geschrieben:

Ich würde mir aber mal überlegen, ob es übehaupt Sinn macht, erst im Client zu sortieren. Kann das nicht bereits am Server passieren?


würde dir nach dem von dir geposteten schnipsel zum zitierten raten... n lüddes php-array und fertig - sofern du php hast. wenn nicht n js-array.

das html auszulesen um dann wieder sortiert zurückzugeben is mächtig unschlau...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
cmykai
Threadersteller

Dabei seit: 24.04.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 26.01.2009 16:32
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

<ul>
<?php

$liste = array("<li><a href="bild1.jpg" title="Bild 1">Hans</a></li>", "<li><a href="bild2.jpg" title="Bild 2">Franz</a></li>",);
sort($liste);
foreach ($liste as $key => $val) {
    echo "liste[" . $key . "] = " . $val . "\n";
}

?>
</ul>


ma so gedacht ... kann das funktionieren, oder wird die liste dann nicht mehr interpretiert?
  View user's profile Private Nachricht senden
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 26.01.2009 16:35
Titel

Antworten mit Zitat Zum Seitenanfang

Überleg' doch mal. Dafür hat Gott dir Hirn geschenkt.
  View user's profile Private Nachricht senden
 
Ähnliche Themen [php] liste sortieren
Liste mit PHP sortieren / Anfangseintrag bestimmen?
javascript : Array sortieren Problematik
[javascript] Array (Strings sind alphanumerisch) sortieren
Liste über mehrere Spalten verteilen mit JavaScript
[Javascript|jQuery] Bestimmten Link aus Liste verändern
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.