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
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.Demo
As the documentation specifies, the string argument is for object properties, not for primitives. I think, as elementary as it sounds, you have to create a function on the scope that simply returns the argument, and pass that to orderBy
.
See jsFiddle!