I have been trying to use ng-options
to display an array of fonts in a select sorted alphabetically by the value of the items in the array.
HTML
<select ng-options="font for font in webfonts | orderBy:'font'" name="fonts">
<option value="">Choose a font</option>
</select>
JS
$scope.webfonts = [
'Abel', 'Crafty Girls' , 'Lato' , 'Average',
'Corben', 'Quicksand', ... ];
I've tried changing the value in orderBy
and other things. I've read through the documentation and all comments.
What am I missing? Is this supposed to only work on objects?
This is what you need to do:
<select ng-model="selected" ng-options="font for font in webfonts | orderBy:'toString()' " name="fonts">
toString()
to sort if the input contains a list of strings. Since the expression of orderBy
can be a Getter function. The result of this function will be sorted using the <, =, > operator.