2017-02-20 2 views
0

영어 설명이 부족하여 코드를 이해할 수있을 것 같습니다. 기본적으로 내 문제는 ng-model = ""ng-options = ""함께 사용하면 양식 데이터가 나오지 않는다는 것입니다. 이 차AngularJs : Ng 모델 개체 및 단일 모델 Together

<div class="form-group"> 
            <label class="mtb10">Model Year</label> 
            <input type="text" name="modelYear" class="form-control" ng-model="data.modelYear" placeholder="Car Year..."> 
           </div> 

의 브랜드

<select class="form-control" name="car_id" ng-model="car_id" ng-options="I.car_brand_code as I.car_brand_name for I in CarList" ng-change="GetState()" > 
            <option value="">Select Car</option> 
           </select> 

선택 상자이 다른 형태의 객체입니다. ng-model은 다른 데이터 "데이터"입니다. 나는 그것을 얻을 수있다. 선택 상자에서 값을 가져 오는 방법은 무엇입니까?

"car_id"값을 가져와야합니다.

+0

당신은 ... "I.car_brand_name로 I.car_brand_code"가. 즉, 선택하는 값은 I.car_brand_code 값을 가지며이를 ng-model에서 지정한 모델 값으로 설정합니다. 나는 당신에게 더 나은 대답을 제공하기 위해 더 많은 코드를 볼 필요가있다. 만약 당신이 플 런커를 제공 할 수 있다면 나는 정확한 방향으로 당신을 가리킬 수 있습니다. –

+0

또는 컨트롤러 코드를 입력하면 도움이됩니다. –

+0

다음은 ng-model 및 ng-options로 작업하는 간단한 예입니다. https://embed.plnkr.co/nUz7nABi3Bz4oSGH8FKH/ –

답변

0

이 시도 : 드롭 옵션의 변경에

  • 이 PARAM로서의 기능으로 선택된 값을 전달한다.
  • array.filter() 방법을 사용하여 차량 ID를 기준으로 선택한 차량의 model year을 가져옵니다. 당신의 NG-옵션에서

DEMO

var myApp = angular.module('myApp',[]); 
 

 
myApp.controller('MyCtrl',function($scope) { 
 
    $scope.CarList = [ 
 
     { 
 
     "car_brand_code": 1, 
 
     "car_brand_name": "Maruti", 
 
     "model_year": 1990 
 
     }, 
 
     { 
 
     "car_brand_code": 2, 
 
     "car_brand_name": "Ford", 
 
     "model_year": 2005 
 
     } 
 
    ]; 
 
    
 
    $scope.GetState = function(carId) { 
 
     var selectedCar = $scope.CarList.filter(function(item) { 
 
     return item.car_brand_code == carId; 
 
     }); 
 
     $scope.data = { 
 
     "modelYear" : selectedCar[0].model_year 
 
     } 
 
    }; 
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="MyCtrl"> 
 
    <select class="form-control" name="car_id" ng-model="car_id" ng-options="I.car_brand_code as I.car_brand_name for I in CarList" ng-change="GetState(car_id)" > 
 
    <option value="">Select Car</option> 
 
    </select> 
 
    <div class="form-group"> 
 
    <label class="mtb10">Model Year</label> 
 
    <input type="text" name="modelYear" class="form-control" ng-model="data.modelYear" placeholder="Car Year..."> 
 
    </div> 
 
</div>