Hallo Christian und FoX,
weiß jemand wie man das select-tag sortieren kann(alphabetisch)? müsste doch eigentlich ganz einfach sein (selfhtml steht nichts). da der Inhalt der Liste aus einer Datenbank kommen kann ich sie nicht mit der hnd sortieren...
kannst du sie nciht beid er datenbankabfrage gleich sortieren ?!
also sort by name oder so ?!
In meinen Augen wäre das der sinnvollste Weg (im SQL-Statement die "ORDER BY"-Clause verwenden).
würd mich aber auch mal interessieren, ob es möglich ist in eine selectbox neue werte per javascript hinzuzufügen..habs irgendwie mal mit dem ie hinbekommen.. nur das sortieren hat nciht geklappt..haltet mich auf dem laufendem =o)
interessiert mich wegen nem chat =o)
Natürlich ist es auch möglich neue Werte in eine Selectbox einzufügen. Schau mal unter: http://www.teamone.de/selfhtml/tecbbdaa.htm
Wenn man jetzt sortieren will, dann kann man mittels eines Sortieralgorythmus wie Q-Sort, B-Sort oder Shaker-Sort und dem aus dem obigen Link abgeleiteten Wissen eine Auswahlliste manipulieren.
Eine andere Möglichkeit wäre: Ich lese den Inhalt meiner Select-Liste in ein Array (Array-Objekt: http://www.teamone.de/selfhtml/tecc.htm, verwende dann die Methode sort() http://www.teamone.de/selfhtml/tecc.htm#a11 und schreibe anschließend die sortierte Liste in meine SelectBox zurück. Hierbei muß ich aber beachten, daß es unter Umständen in meiner Selectbox zu Inkonsistenzen kommt. Die Inkonstistenzen kommen daher, daß ich in einem SelectBox-Element eine text- und eine value-Eigenschaft habe, von denen nur die text-Eigenschaft schreibbar ist. Der Inhalt der value-Eigenschaft ist für den User nicht sichtbar, aber im Sourcecode auffindbar (Siehe Beispiel).
[...]
<form name="Testform">
<select name="Auswahl" size=8>
<option value="Hugo">Hugo</option>
<option value="Emil">Emil</option>
</select>
</form>
<script language="JavaScript">
var wert = document.Testform.Auswahl.options[0].text
document.Testform.Auswahl.options[0].text = document.Testform.Auswahl.options[1].text
document.Testform.Auswahl.options[1].text = wert
</script>
[...]
Das würde funktionieren und hätte als Resultat, daß der Inhalt von value und text inkonsistent sind. Ein Tausch der Values ist _nicht_ möglich.
Ich hoffe ich konnte Euch helfen.
Bis denndann
Michael N.