因此,我的應用程序獲取Primary Resources
的列表。這些JSON對象包含一個ID
,Name
和一組role
對象。每個role
對象都有一個value
和name
。當用戶從選擇標記中選擇Primary Resource
時,我需要另一個選擇標記來填充它們的role
值,因爲某些Primary Resources
有多個roles
。它看起來是正確的,但顯然它有問題。AngularJS過濾器問題
HTML:
<div ng-controller="NewTicketCtrl">
<div class="form-group col-xs-4">
<div class="input-group">
<label for="primaryResource"><i class="fa fa-user fa-lg"></i> Primary Resource</label>
</div>
<select class="form-control" id="primary" ng-model="option.primary" ng-options="primary.id as primary.name for primary in primaryResources">
</select>
</div>
<div class="form-group col-xs-4">
<div class="input-group">
<label for="role"><i class="fa fa-briefcase fa-lg"></i> Role</label>
</div>
<select class="form-control" id="role" ng-model="option.role" ng-options="primary.role.value as primary.role.name for primary in primaryResources | filter:{primary:option.primary}">
</select>
</div>
</div>
控制器:
app.controller('NewTicketCtrl', ['$scope', '$http', function($scope, $http){
//Gets data from a JSON file
$http.get('res/formValues.json').success(function(data){
$scope.formValues = data;
//For simplicity purposes, I'm hard coding in the values
$scope.primaryResources = {
"id" : 1,
"name" : "Smith, John",
"role" : [
{
"value" : 1,
"name" : "Technician"
},
{
"value" : 5,
"name" : "Administration"
}
]
},
{
"id" : 2,
"name" : "Smith, Jane",
"role" : [
{
"value" : 1,
"name" : "Technician"
},
{
"value" : 2,
"name" : "Level 2 Technician"
},
{
"value" : 3,
"name" : "Level 3 Technician"
}
]
}
//Used to store values for later use
$scope.option = {
status : $scope.formValues.status[0].value,
priority : $scope.formValues.priority[0].value,
ticketType : $scope.formValues.ticketType[0].value,
workQueue : $scope.formValues.workQueue[0].value,
primary : $scope.formValues.primaryResource[0].id,
role : $scope.formValues.primaryResource[0].role[0].value
};
}).error(function(data){
console.log(data);
});
}]);
完美,這正是我所需要的。非常感謝你。 – CaptainQuint