user176855
user176855

Reputation: 289

Angular UI Bootstrap, how do i do typeahead on an array of objects in AngularJS?

http://plnkr.co/edit/VSA1gVEixxis7utvAoQr?p=preview

I get that "state for state in states" works because it's just an array of Strings. I'd like to loop through an array of objects shown in $scope.state_details in the plnkr.co example.

<input type="text" ng-model="selected" typeahead="state for state in states | filter:$viewValue | limitTo:8">

What's the correct expression to use in the typeahead attr when i have an array of objects like this?...

data = [
  {
    name:"Alabama",
    population:2000
  },
  {
    name:"Alaska",
    population:20000
  },
  {
    name:"California",
    population:200000
  },
];

Upvotes: 0

Views: 1523

Answers (2)

John Ledbetter
John Ledbetter

Reputation: 14173

If you want the model to be the actual state object and not the name:

typeahead="state as state.name for state in statesdetails"

Upvotes: 3

user176855
user176855

Reputation: 289

Figured this out!

s.name in s in statedetails

Upvotes: 0

Related Questions