我正在使用angular bootstrap typeahead指令.当我使用typeahead时,有没有办法选择在我的ng-model中设置的整个所选对象而不是字符串?
例如
mycontroller.js
var getStates = function() { // calls rest service that pulls in states.json from some angular factory } var StateCtrl = function ($scope) { $scope.states = getStates(); $scope.submit = function () { // Should expect an Object and not the name of the state console.log($scope.states); } } angular.module('StateCtrl',[]).controller(['$scope',StateCtrl]);
states.json
[ // i don't want just state.name i want everything {name: Alabama,stateCode: 123,salesTax: .06},{name: Arkansas,stateCode: 122,{name: New York,stateCode: 120,salesTax: .10},... ]
的index.html
<input ng-model="selectedstate" uib-typeahead="state.name for state in states"> <!--- i want selectedState to be {{state}} and not {{state.name}} --> <button ng-click="submit()">submit</button>
将uib-typeahead =“state.name for state in states”替换为uib-typeahead =“state as state.name for state in states”.这应该为你工作.这是一个工作
plunker.