2017-06-16 50 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>