Я использую Angular-UI TypeAhead в своем приложении mvc.
Вот мой источник HTML:
<div data-ng-app="v">
<div ng-controller="TypeAheadController">
<input type="text" id="txtType" ng-model="selected" typeahead-on-select="callBack($item,$model,$label)" typeahead="state as state.Name for state in states | filter:$viewValue | limitTo:8" class="form-control">
</div>
</div>
Вот мой js-файл:
var v = angular.module('v', ['ui.bootstrap']);
v.factory('serverCallMakerFactory', ['$http', serverCallMakerFactory]);
function serverCallMakerFactory($http) {
var serverCallMakerFactory = {};
serverCallMakerFactory.callServer = function (url) {
return $http.get(url);
};
return serverCallMakerFactory;
}
v.controller('TypeAheadController', ['$scope', 'serverCallMakerFactory', $scope,TypeAheadController]);
function TypeAheadController($scope, serverCallMakerFactory) {
$scope.selected = undefined;
$scope.states = [{ 'ID': 1, 'Name': 'Alabama' }, { 'ID': 1, 'Name': 'Alaska' }, { 'ID': 1, 'Name': 'Arizona' }, { 'ID': 1, 'Name': 'Arkansas' }];
$scope.callBack = function ($item, $model, $label) {
serverCallMakerFactory.callServer("/Customer/DisplayJsonCustomer")
.success(function (data) {
debugger;
});
};
}
то, что я хочу сделать, это сделать json-вызов с идентификатором страны, выбранной пользователем.
Я попытался использовать атрибут typeahead-on-select. но в функции callBack я не могу получить службу $http. Кто-нибудь может мне помочь?
По сути, в этом посте я собираюсь извлечь данные в качестве источника для другого шрифта, который я собираюсь использовать. Если у кого-то есть лучшее решение для этого требования, пожалуйста, предложите.