2016-09-03 3 views
0

의 값에 따라 선택 목록에서 Disable (사용 안 함) 옵션은 I 등 3 개 선택 목록을 '언어', '뉴스 제공자'& '뉴스 카테고리'.
나는 에 사용/사용 '언어'의 값에 따라 '뉴스 제공자'& '뉴스 카테고리'에 옵션을 해제 할 수 있습니다.AngularJS와 : 다른 선택 목록

$scope.languages = [ 
 
         {"lang": "English"}, 
 
         {"lang": "French"}, 
 
         {"lang": "Portuguese"} 
 
        ]; 
 
$scope.providers = [ 
 
         {"provider": "BBC"}, 
 
         {"provider": "CNN"} 
 
        ]; 
 
$scope.categories = [ 
 
         {"category": "General"}, 
 
         {"category": "Sport"} 
 
        ]; 
 
$scope.formInfo.language  = $scope.languages[0]; 
 
$scope.formInfo.newsProvider = $scope.providers[0]; 
 
$scope.formInfo.newsCategory = $scope.categories[0];
<div class="form-group"> 
 
    <label for="language" class="col-sm-2 control-label">Language:</label> 
 
    <div class="col-sm-4"> 
 
     <select name="language" class="form-control" id="language" ng-model='formInfo.language' ng-options='language.lang for language in languages'></select> 
 
    </div> 
 
    </div> 
 
    <div class="form-group"> 
 
    <label for="newsProvider" class="col-sm-2 control-label">News Provider:</label> 
 
    <div class="col-sm-4"> 
 
     <select name="newsProvider" class="form-control" id="newsProvider" ng-model='formInfo.newsProvider' ng-options='provider.provider for provider in providers'></select> 
 
    </div> 
 
    </div> 
 
    <div class="form-group"> 
 
    <label for="newsCategory" class="col-sm-2 control-label">News Category:</label> 
 
    <div class="col-sm-4"> 
 
     <select name="newsCategory" class="form-control" id="newsCategory" ng-model='formInfo.newsCategory' ng-options='category.category for category in categories'></select> 
 
    </div> 
 
    </div>

어떻게 내가 원하는 동작을 얻을 수 있습니다
나는 다음 코드 있나요? 모든 도움이 매우 친절한 것입니다

답변

0

다음과 같이 코드가 변경되었습니다.

$scope.languages = [ 
 
         {"language": "English", "value": "English"}, 
 
         {"language": "French", "value": "French"}, 
 
         {"language": "Portuguese", "value": "por"} 
 
        ]; 
 
    $scope.providers = [ 
 
         {"provider": "BBC", "lang": ["English", "French", "Portuguese"]}, 
 
         {"provider": "CNN", "lang": ["English"]} 
 
        ]; 
 
    $scope.categories = [ 
 
         {"category": "General", "lang": ["English", "French", "Portuguese"]}, 
 
         {"category": "Sport", "lang": ["English"]} 
 
        ];

<div class="form-group"> 
 
    <label for="language" class="col-sm-2 control-label">Language:</label> 
 
    <div class="col-sm-4"> 
 
     <select name="language" class="form-control" id="language" ng-model='formInfo.language' ng-options='language.value as language.language for language in languages'></select> 
 
    </div> 
 
    </div> 
 
    <div class="form-group"> 
 
    <label for="newsProvider" class="col-sm-2 control-label">News Provider:</label> 
 
    <div class="col-sm-4"> 
 
     <select name="newsProvider" class="form-control" id="newsProvider" ng-model='formInfo.newsProvider' ng-options='provider.provider for provider in providers | filter:{lang:formInfo.language}'></select> 
 
    </div> 
 
    </div> 
 
    <div class="form-group"> 
 
    <label for="newsCategory" class="col-sm-2 control-label">News Category:</label> 
 
    <div class="col-sm-4"> 
 
     <select name="newsCategory" class="form-control" id="newsCategory" ng-model='formInfo.newsCategory' ng-options='category.category for category in categories | filter:{lang:formInfo.language}'></select> 
 
    </div> 
 
    </div>