0

2つ目のドロップダウンフィールドは最初の選択に依存しています。最初のドロップダウンに依存する角のドロップダウン

最初のドロップダウンのデータは、1つのデータセットから得られます。アカウントng-repeat="option in acctList":1,4,7に関連付けられた番号が表示されます。 異なるデータセットに移動し、一致するアカウント番号を見つけて、そのアカウントに関連する顧客を表示したいとします。 (アカウント1には顧客1-2、アカウント4には顧客3-4、アカウント7には顧客5-7があります)。 2番目のドロップダウンは、最初に何も選択されていないときは何も表示されません(空白)。 Filter ng-options from ng-options selection をしかし、それはです:SO答える

angular.module("app", []) 
    .controller("MainCtrl", function($scope) { 
    $scope.test = "This is a test"; 
    $scope.defnum = 1; 
    $scope.acct_info = [ 
     { 
     "Req": "MUST", 
     "DefCom": "1" 
     }, 
     { 
     "Req": "NoMUST", 
     "DefCom": "5" 
     }, 
     { 
     "Req": "MUST", 
     "DefCom": "4" 
     }, 
     { 
     "Req": "MUST", 
     "DefCom": "7" 
     } 
    ]; 

    $scope.cust_info = [ 
     { 
     "Customer": "1", 
     "Com": "1" 
     }, 
     { 
     "Customer": "2", 
     "Com": "1" 
     }, 
     { 
     "Customer": "3", 
     "Com": "4" 
     }, 
     { 
     "Customer": "4", 
     "DefCom": "4" 
     }, 
     { 
     "Customer": "5", 
     "DefCom": "7" 
     }, 
     { 
     "Customer": "6", 
     "DefCom": "7" 
     }, 
     { 
     "Customer": "7", 
     "DefCom": "7" 
     } 
    ]; 
    }); 

私はこれに基づいて第2のフィルタ処理しようとするng-repeat="option in cust_info | filter:{ Com : filter.DefCom }"を追加しました:ここ

http://plnkr.co/edit/jDitkge1rx6GJzkdElJO?p=previewは私のコントローラである:ここでは

は、2つのドロップダウンと私のplunkerです働いていない。 私はng-changeを使用しようとしましたが、 filterまたは track byのような簡単な方法があるはずです。 ng-repeatからng-optionに変更する必要があるかどうかも疑問です。誰でもこれを行う簡単な方法についての洞察を持っていますか?あなたの二 <option>タグで

答えて

0

使用ng-ifが、これは一例では動作しないものは何でもしたい

<select> 
    <option ng-selected="defnum == option.DefCom" ng-repeat="option in acct_info | filter:{Req:'MUST'}:true"> 
     {{ option.DefCom }} 
    </option> 

    </select> 
    <select> 
    <option ng-if="option.DefCom" ng-selected="" ng-repeat="option in cust_info"> 
     {{ option.Customer}} 
    </option> 

    </select> 
+0

、であることがあります。最初のドロップダウンで "1"を選択すると、オプション1と2だけが表示されます。 "2"を選択すると、オプション3,4が表示されます。 – jenryb

関連する問題