【发布时间】:2016-08-06 18:47:15
【问题描述】:
我正在尝试使用 UI Bootstrap Typeahead 进行自动完成搜索,以从数据库中选择一个类别。
我已经建立了一个包含 4 个类别的示例数据库,最后一个将包含一千多个类别。
当我开始输入时,搜索结果返回 4 行(所以一定有什么问题,因为我试图更改数据库中的行数,搜索结果反映了总行数)但没有任何值。但是,我写什么并不重要,所以它似乎不匹配。
HTML
<input class="form-control" type="text" name="category" id="category" placeholder="Search..." ng-model="asyncSelected" typeahead="name for name in getCdOnCat($viewValue)" typeahead-loading="loadingLocations" required>
controller.js
//Typeahead: Category Search
$scope.getCdOnCat = function (searchVal) {
return dataFactory.getCdOnCategory(searchVal, globalVal_accessToken, globalVal_storeId).then(function (response) {
console.log(response.data.categories);
return response.data.categories;
}, function (error) {
console.log('Error: dataFactory.getCdOnCategory');
});
};
service.js
app.factory("dataFactory", function ($http) {
var factory = {};
factory.getCdOnCategory = function (searchVal, accessToken, storeId) {
return $http.get('data/getCdOnCategory.aspx?searchVal=' + searchVal + '&accessToken=' + accessToken + '&storeId=' + storeId)
};
return factory;
});
JSON
{ "categories":[
{ "name": "Clothes" },
{ "name": "Cypress" },
{ "name": "Citrus" },
{ "name": "Cats" }
] }
【问题讨论】:
标签: angularjs angular-ui-bootstrap angular-ui-typeahead