我是AngularJS的新手。我的html代码中有一个输入文本框,用于选择一个来自数据库的城市。为此,我正在调用API。结果填充了数据主义者,这是正常的。但是当我从datalist中选择一个项目时,它再次调用该方法,它显示的是我选择的相同结果。我知道这是因为改变了。任何人都可以给我一个解决这个问题或任何可以帮助我的想法。感谢您的帮助
我的HTML:
<input type="text" list="cityList" class="form-control" placeholder="Select City" ng-model="selectcity" ng-change="searcity()" class="form-control" id="seacityincoucat">
<datalist id="cityList">
<option ng-repeat="city in cities.results" value="{{city.name}}">
</datalist>
控制器:
$scope.searcity = function () {
var ciseurl = urlcs + $scope.selectcity;
$http.get(ciseurl, config).then(function (response) {
if (response.data.status === '$200') {
$scope.cities = response.data;
var x = $scope.cities.results;
couponSvc.setCityId(x[length].id);
}else{
alert("try some thing else");
}
});
};
答案 0 :(得分:0)
使用ng-blur代替ng-change
<input type="text" list="cityList" class="form-control" placeholder="Select City" ng-model="selectcity" ng-blur="searcity()" class="form-control" id="seacityincoucat">
答案 1 :(得分:0)
<input type="text" list="cityList" class="form-control" placeholder="Select City" ng-model="selectcity" ng-keypress="searcity()" class="form-control" id="seacityincoucat">