这里我基本上设置了3个选择列表
<label for="organization">Organization</label>
<select ng-change="setOrganization()" ng-model="form.organization"
ng-options="o.name as o.displayName for o in organizations" required></select>
<label for="board">Board</label>
<select ng-change="setBoard()" ng-model="form.board"
ng-options="b.id as b.name for b in boards" required></select>
<label for="board">List</label>
<select ng-change="setList()" ng-model="form.list"
ng-options="l.id as l.name for l in lists" required></select>
JS:
$scope.setOrganization = function(){
$scope.lists = {};
mySerivce.get('....', function(boards){
$scope.boards = angular.fromJson(boards);
$scope.$apply();
});
};
$scope.setBoard = function(){
mySerivce.get('...', function(lists){
$scope.lists = angular.fromJson(lists);
$scope.$apply();
});
};
因此,当选择一个组织时,我会获得电路板并使用电路板数据填充第二个选择字段。再次选择电路板时,将获取分配给电路板的所有列表,并使用此数据设置第三个选择字段。在所有选择字段都具有选定值之前,表单仍然无效。
当用户更改组织时,将清除所有字段。但是表单。$ valid对象仍然是正确的。问题出在哪儿?如果没有选择任何值,则表单必须无效,因为字段是必需的。有什么想法吗?
答案 0 :(得分:1)
尝试此操作,它将验证未设置选择值。很高兴它有效。
mySerivce.get('....', function(boards){
$scope.boards = angular.fromJson(boards);
$scope.form.board = null;
$scope.$apply();
});