Iterate with ng-options in a dictionary(object)

Oleg Belousov picture Oleg Belousov · Sep 18, 2013 · Viewed 10.5k times · Source

I need to iterate over the following object with ng-options:

var a = {
'optionName1': 'optionValue1',
'optionName2': 'optionValue2',
'optionName3': 'optionValue3',
'optionName4': 'optionValue4',
};

I get this object in this format from a 3rd party resource, and I'd rather no to re-arrange it manually.

I already did a Google search, and looked into the documentation, it deals with lists, and lists of objects only from what I could tell.

Answer

AlwaysALearner picture AlwaysALearner · Sep 18, 2013

For a model like this:

$scope.options = {
    'optionName1': 'optionValue1',
    'optionName2': 'optionValue2',
    'optionName3': 'optionValue3',
    'optionName4': 'optionValue4',
};

You can create options like this:

<select ng-change="change()" ng-model="votes.status" 
ng-options="v for (k,v) in options">
</select>