我有一个下拉列表,想法是点击第一个下拉列表,一旦选择了值,就应该发送它来调用一个函数,该函数在另一个下拉列表中生成一个列表。 我有两个函数在角度。问题是如何在第一个下拉列表中选择该选项后立即调用函数。 这是hTML:
<center>
<select type="submit" ng-submit="save()" ng-model="category">
<option size=50 value="" selected>Select a meta category</option>
<option ng-repeat="meta in metas.metas" value="{{meta}}">{{meta}}</option>
</select>
</center>
<center>
<select ng-model="category1">
<option size=50 value="" disabled selected>Select a category</option>
<option ng-repeat="category in categories.categories" value="{{category}}">{{category}}</option>
</select>
</center>
AngularJs:
.controller('PostCtrl', function ($scope, $http) {})
.controller('UserListCtrl', function ($scope, $http) {
$scope.list = function () {
$http.get('http://94.125.132.253:8001/getuncategorisedplaces').success(function (data) {
$scope.places = data;
console.log(data);
$scope.message = 'List of Uncategorised places';
})
}
$scope.list();
$scope.meta = function () {
return $http.get('http://94.125.132.253:8000/getmetas').success(function (data) {
$scope.metas = data;
console.log($scope.category);
console.log(data);
$scope.message = 'List of Uncategorised places';
})
}
$scope.meta1 = $scope.meta().then(function (data) {
var formdata = {
'category': $scope.category,
}
var inserturl = 'http://94.125.132.253:8000/getcategories?meta=' + formdata.category;
return $http.get(inserturl).success(function (data) {
$scope.categories = data;
console.log(formdata.category);
console.log(data);
$scope.message = 'List of Uncategorised places';
});
});
控制台中没有错误,因为我没有选择任何选项,我尝试过onchange =“function()”。但是我收到错误声明该功能无法识别。我已经从代码中取出它,因为它不起作用并且不适合。一旦用户从第一个列表中选择元类别,我需要第一个下拉列表来调用$ scope.meta1中的函数
答案 0 :(得分:1)
你必须观察你的模型,并在它改变时启动你的功能,比如
$scope.$watch('category', function(newvalue) {
$scope.meta()
});
您也可以在选择
上使用ng-changeng-change="meta()"