Sortieren, wählen Sie Menü alphabetisch?
Habe ich die folgenden select-Menü (jsFiddle):
<select>
<option value="volvo">Cars</option>
<option value="saab">------------</option>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
Verwendung von Javascript, wie kann ich das neu-Sortieren Sie die Liste alphabetisch, mit Ausnahme der ersten 2 Optionen (Cars
und -------
), die müssen bleiben an der Spitze? Vielen Dank im Voraus für jede Hilfe.
- Soweit die Darstellung einer überschrift in der <select> Liste, die Sie in Aussehen sollte mit HTML <optgroup> Funktionalität. So könnte man alphabetisch alle Optionen und die gewünschte Wirkung haben. w3schools.com/tags/tag_optgroup.asp
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als ein purist, ich würde sagen, dass zu keinem Zeitpunkt wurde jQuery ausdrücklich erwähnt oder gefragt wird), kann es nicht in Gebrauch ist in diesem Projekt für einen oder anderen Grund. Hier ist ein Beispiel mit reinem javascript.
http://jsfiddle.net/GAYvL/7/
Aktualisiert zu Fall neutral.
ABCabc
eher alsAaBbCc
selected
- Attribut auf die richtige option<option>
hat, ein Komma in ihm.Ich würde anfangen, indem ich einen Klasse Namen alle Einträge, die ich Sortieren möchten, und geben und ID zu wählen:
als für die javascript -
$('#sortableCars > .sortMe')
und entfernen dersortMe
- Klasse aus der '- - - - - - - ' - option löst meine Probleme.Mein Erster Ansatz war, ähnlich wie Koolinc ist, mit Array.der Prototyp.Scheibe konvertieren
<select>
element-Kinder-NodeList in ein array. Dies bedeutet jedoch nicht, funktionieren in Internet Explorer 8 und niedriger, also änderte ich es zu extrahieren, zu Sortieren und dann neu einfügen:Arbeiten demo: http://jsfiddle.net/3YjNR/2/
<optgroup>
. 🙁Dies ist nur eine weitere generische answser basierend auf @Jeff Parker ist einer!
Habe ich auch erstellt ein Turnschuh; http://jsfiddle.net/4u86B/1/
<option>
hat eine|
in es.