2017-11-16 22 views
1

私は、前のオプションに基づいて他の1つの選択肢の内容を選択する2つの選択肢を作成したいと考えています。ここに私のhtml前の選択オプションに基づくコンテンツ選択オプションangularjs

<div class="col-sm-2"> 
      <select class="form-control" ng-model="y"> 
       <option value="1">a</option> 
       <option value="2">b</option> 
      </select> 
     </div> 
     <div class="col-sm-2"> 
      <select class="form-control" ng-model="z"> 
       <option ng-repeat = "x in list" value="{{x.idproduct}}">{{x.descproduct}}</option> 
      </select> 
     </div> 

ですが、エラーがある、文句を言わないこの絵ここenter image description here

でのようにオプションを示す他の選択オプションは、私のjsファイル

if ($scope.y === 1) { 
     $scope.list = [ 
      {idproduct:"13", descproduct:"cc"}, 
      {idproduct:"14", descproduct:"dd"} 
     ]; 
     } 
     if ($scope.y === 2) { 
     $scope.list = [ 
      {idproduct:"15", descproduct:"ee"} 
     ]; 
     } 

答えて

1

のようにそれを比較する必要があります。さらに===を送信すると問題が発生することがあります。 ===とあなたの文字列値は、整数1と比較し、ここで
2. plunkerですされている:ng-change for change in dropdown

<select class="form-control" ng-model="y" ng-change="updateList()"> 
    <option value="1">a</option> 
    <option value="2">b</option> 
</select> 
$scope.updateList()={ 
if ($scope.y == 1) { 
     $scope.list = [ 
      {idproduct:"13", descproduct:"cc"}, 
      {idproduct:"14", descproduct:"dd"} 
     ]; 
     } 
     if ($scope.y == 2) { 
     $scope.list = [ 
      {idproduct:"15", descproduct:"ee"} 
     ]; 
     } 
} 
+0

私は何が必要なのですか、ありがとうございました –

1

あなたのオプションの値でありますStringです。value="2"

そして、それを整数と比較しています。if ($scope.y === 2)

あなたはあなたのリストがあなたの値が更新された時点で更新されるようにchangeイベントをバインドする必要がif ($scope.y === '2')またはif (parseInt($scope.y) === 2)

+0

助けてくれてありがとう –

1

機能を作成し、その機能であなたのJSコードを入れて、最初のNG-変化に関数を呼び出します落ちる。アプリケーションの初期化中にconditionが1回実行される場合はここになります。したがって、ng-changeをトリガすることで、関数を呼び出して、選択に基づいてリストを更新することができます。

+0

助けてくれてありがとう –

関連する問題