de tri, sélectionnez menu par ordre alphabétique?
J'ai eu la suivante, sélectionnez menu (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>
À l'aide de Javascript, comment pourrais-je re-trier la liste par ordre alphabétique, en excluant les 2 premières options (Cars
et -------
), qui doit rester en haut? Merci d'avance pour toute aide.
Aussi loin que l'affichage d'une rubrique dans le <select> liste, vous devriez regarder dans l'aide HTML < "optgroup" > les fonctionnalités. De cette façon, vous pouvez classer par ordre alphabétique de toutes les options et avoir l'effet désiré. w3schools.com/tags/tag_optgroup.asp
OriginalL'auteur Skizit | 2011-03-09
Vous devez vous connecter pour publier un commentaire.
D'être un puriste, je dirais qu'à aucun moment il n'a été jQuery spécifiquement mentionnés ou demandé, il ne peut pas être utilisé dans ce projet, pour une raison ou une autre. Voici un exemple d'utilisation de javascript.
http://jsfiddle.net/GAYvL/7/
Mis à jour être le cas neutre.
jQuery est excellent, et je serais fortement préconiser son utilisation ... mais je me sentirais coupable si quelqu'un avait pour ajouter jQuery pour un projet à l'appui de quelque chose comme ça ... merci pour le vote de confiance 🙂
Cela a Mis de majuscule à l'avance de toutes les minuscules menant à quelque chose comme
ABCabc
plutôt queAaBbCc
J'ai fait une légère modification pour le rendre aussi proche d'un cas neutre, comme il est probable que de besoin de l'être.
notez que cela ne conservera pas la
selected
attribut de l'option correcteOriginalL'auteur Jeff Parker
Ma première approche a été similaire à Koolinc, à l'aide du Tableau.le prototype.tranche de convertir le
<select>
les enfants de l'élément NodeList à un tableau. Toutefois, cela ne fonctionne pas dans Internet Explorer 8 et faible, de sorte que je l'ai changé pour extraire, trier et insérez-la de nouveau:Travail de démonstration: http://jsfiddle.net/3YjNR/2/
OriginalL'auteur Andy E
C'est juste un plus générique answser @Jeff Parker!
J'ai également créé un violon; http://jsfiddle.net/4u86B/1/
OriginalL'auteur Renato Gama
Je voudrais commencer par donner un nom de classe à toutes les entrées de je veux, et de donner et ID pour le sélectionner:
que pour le javascript
À proximité, mais le JS ne fonctionne pas tout à fait droit dans mes tests. Changer listitems être
$('#sortableCars > .sortMe')
et la suppression de lasortMe
classe à partir de la-------option résout mes problèmes.J'ai corrigé pour sélectionner seulement ceux avec la classe 'sortMe'. C'est drôle comment vous pouvez manquer les détails importants...
OriginalL'auteur Eric Di Bari