2017-03-28 4 views
0
<div class="row" data-ng-repeat="i in [1,2,3,4]"> 
      <div asterick class="form-group" ng-class="{'form-group has-success': !error['resource_type'] && (submitted), 'form-group has-error': (error['resource_type']) && (submitted)}"> 
       <label for="resourceType">Resource Type</label> 
       <select name="resourceType" id="resourceType" ng-model="data.resource_type+{{ i }}" ng-required="true" > 
        <option ng-repeat="option in resourceTypeJson" value="{{option}}">{{option}}</option> 
       </select> 
      </div> 
</div> 

私はそのI(ループ変数)にアクセスしようとしていますと角度JS変数をCONCATすることができます。私はresource_type1、resource_type2などが必要です。どうすればこのことができますか?はどのように我々はNG-モデルとNG-モデル

答えて

2

リソースタイプを別のプロパティではなく配列にします。

{ 
    data: { 
     resource_type1: 'data1', 
     resource_type2: 'data2', 
     resource_type3: 'data3' 
    } 
} 

{ 
    data: { 
     resource_type: ['data1', 'data2', 'data3'] 
    } 
} 

になり、その後、あなたのngModelに、次のことを行うことができます。

ng-model="data.resource_type[i]" 

何を上記の操作を行うことができない場合は?

あなたは次のことを試すことができます。

ng-model="data['resource_type' + i]" 
+0

あなたは@Giovani秒1は、私はあなた@Ramkishan角度 – Ramkishan

+0

は、我々は、同様のIDと名前でこれを使用することができます私のために働いたおかげで非アトリビュートattrsには 'id =" {{...}} "'を使用する必要があります – Ramkishan

+0

申し訳ありませんように – Ramkishan

0

htisのような変更NGモデルを

ng-model="data['resource_type' + i]"

動的

デモ

この方法でのNGモデルプロパティ名つもり変更

angular.module("app",[]) 
 
.controller("ctrl",function($scope){ 
 
    $scope.data = {} 
 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="app" ng-controller="ctrl"> 
 
<div class="row" data-ng-repeat="i in [1,2,3,4]"> 
 
       
 
       <select name="resourceType" id="resourceType" ng-model="data['resource_type' + i]" ng-required="true" > 
 
        <option ng-repeat="option in [1,2,3,4]" value="{{option}}">{{option}}</option> 
 
       </select> 
 
</div> 
 
{{data}} 
 
</div>