2016-05-10 3 views
1

Ich habe ein Dropdown-Menü mit vielen Elementen, die ich in alphabetischer Reihenfolge haben möchte, wenn es einen Unterschied macht, verwendet das Dropdown-Menü optgroups.Sortieren einer Dropdown-Liste mit optgroups

Sagen wir, ich so etwas wie dieses:

<optgroup label="Fruits"> 
<option>Banana</option> 
<option>Apple</option> 
<option>Orange</option> 
<option>Avocado</option> 
</optgroup> 

Wie würde ich es so machen, dass es sie in alphabetischer Reihenfolge für jeden optgroup zeigen würde? Im obigen Beispiel wäre dies Apple, Avocado, Banana, Orange.

Antwort

3

können Sie verwenden sort()

$('optgroup[label="Fruits"] option').sort(function(a, b) { 
 
    return $(a).text() > $(b).text(); 
 
}).appendTo('optgroup[label="Fruits"]');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<optgroup label="Fruits"> 
 
    <option>Banana</option> 
 
    <option>Apple</option> 
 
    <option>Orange</option> 
 
    <option>Avocado</option> 
 
</optgroup>