我在 AngularJS 应用程序中实现了 Typeahead 的自动完成功能。它工作正常,但我需要获取与自动完成中每个位置相关的 id
,因为在某些情况下文本可能是相同的。
这是我的代码:
Controller
Stock.controller('ProviderAutocompleteController', function($scope, $http) {
$scope.providerSelected = undefined;
var responsePromise = $http.get("/getProvidersList");
responsePromise.success(function(response, status, headers, config) {
var providersList = new Array();
for(i=0; i<response.length; i++)
{
var prov = response[i];
providersList.push(prov.name);
}
$scope.providers = providersList;
});
})
HTML
<input type="text"
ng-model="providerSelected"
uib-typeahead="provider for provider in providers | filter:$viewValue | limitTo:8"
class="form-control input-md" required="">
服务getProvidersList
将在对象中返回,对于每个provider
,我如何获取在自动完成中选择的提供者的ID?
最佳答案
当他们选择一个项目时,您会将整个当前对象传递给 ngModel。
您应该在
中看到 IDproviderSelected.id // or whatever the ID is within that object
此外,如果您只需要 ID,您可以更改循环(.name 是对象中文本的名称)
uib-typeahead="provider.id as provider.name for provider in providers"
关于javascript - Angular Typeahead 保存 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33984090/