I'm writing a typeahead search bar using ui.bootstrap typeahead
and found the component pretty straight forward to use.
My Controller feeds the data into the $scope
like this:
var good = [{ name: 'Mario', role: 'sup' },
{ name: 'Luigi', role: 'bro' },
{ name: 'Yoshi', role: 'pet' }]
var bad = [{ badname: 'Bowser', role: 'boss' },
{ badname: 'Sauron', role: 'eye' },
{ badname: 'Jason', role: 'knifer' }]
$scope.data = good.concat(bad)
Then, in the View, I have something like this:
<div class="container-fluid">
<pre>Model: {{selected| json}}</pre>
<input type="text" ng-model="selected" typeahead="datum.name for datum in data | filter:$viewValue | limitTo:4">
</div>
This ends up searching in the good guys, but not in the bad (because they have badname
instead of name
Is there a way to search for both?
Bonus: I would love to show the
role
of my guys below their name... hints?
Edit: I'm aware of this Typeahead using object name to select the entire object, but I was hoping show it in the popup too...
Plnkr added here --> http://plnkr.co/edit/KqvUlf
Keep the console open, and you will see the issue about the label I was talking about
Only the good guys shows up, end even then the search throws up an exception when searching for a non existent field in the bad guys