2017-06-16 49 views
0

我有幾個多個選擇框,每個框可能有重複的選項。我需要他們的工作,以便如果我在一個框中選擇一個選項,是否在其他框中出現相同的選項,它也會被選中。我也需要它,所以如果我在另一個框中選擇另一個選項,並且有重複項,它們也會被選中而不會丟失先前的選擇。Angular:有多個選項的多個選擇框

例如,框具有[A,B,C,d],框具有[A,Q,W,E],和盒子Ç具有[d ,x,c,v]。如果我選擇A.a,B.a也被選中。如果我選擇C.d,A.d也被選中。

任何提示將不勝感激。

回答

0

我創建了一個小的演示...查看是否和您的要求相匹配

<!DOCTYPE html> 
<html lang="en-US"> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
<body> 

<div ng-app="myApp" ng-controller="myCtrl"> 

<select ng-model="selected1" ng-options="x for x in option1" ng-change ="fireEvent1(selected1)"> 
</select> 

<select ng-model="selected2" ng-options="y for y in option2" ng-change ="fireEvent2()"> 
</select> 

<select ng-model="selected3" ng-options="z for z in option3" ng-change ="fireEvent3()"> 
</select> 

</div> 

</body> 
<script> 
var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
    $scope.option1 = ["a", "b", "c","d"]; 

     $scope.option2 = ["a", "e", "f","g"]; 

    $scope.option3 = ["e", "s", "p","q"]; 

    $scope.fireEvent1 = function(selected1){ 
     for(var i=0;i< $scope.option2.length; i++){ 
      if($scope.option2[i] == selected1){ 
       $scope.selected2 = $scope.option2[0]; 
      } 
     } 
    } 

}); 
</script> 
</html>