2017-11-16 1 views
1

나는 이전 옵션에 따라 다른 하나의 옵션을 선택한 내용을 선택 2 옵션을 만들고 싶습니다. 여기 내 html로이전 선택 옵션 anglejs를 기반으로 콘텐츠 선택 옵션

<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

하여 옵션의 값입니다 문자열입니다 value="2"

그리고 너는 정수와 비교할 것입니다. if ($scope.y === 2)

당신은 if ($scope.y === '2') 또는 if (parseInt($scope.y) === 2) 당신은 당신의 목록이 당신의 값이 업데이트 될 때 업데이트되는 있도록 change 이벤트를 바인드해야

+0

도와 주셔서 감사합니다 –

1

함수를 작성하고 그 기능에 JS 코드를 넣어 첫 번째의 NG 변화에 함수를 호출 쓰러지 다. 앱이 초기화되는 동안 조건이 한 번 실행되면 여기에 있습니다. 따라서 변경을 트리거하면 함수를 호출하고 선택에 따라 목록을 업데이트 할 수 있습니다.

+0

도움 주셔서 감사합니다. –