2016-06-17 4 views
0

私は繰り返したときにobject(arr)を持っています。彼はプロパティーcharTypeselectまたはmultipleを持っています。ng-repeat:selectでプロパティの倍数を設定する方法

charTypeが​​の場合は、通常の選択を参照してください。charType"multiple"の場合は複数選択してください。

例:

場合、オブジェクト(ARR)が5結果0,1,2はcharTypeである持っている '選択' および3,4- charType multiple'.Iが 1 2を選択を選択見たい」であります複数

<div class="form-group" ng-repeat="att in arr track by $index"> 
 
    <div class="col-md-3"> 
 
    <label for="phone" ng-model="type">{{att.name}}</label> 
 
    </div> 
 
    <div class="col-md-9"> 
 
    ({{att.charType}}) 
 
    <select class="form-control" ng-model="charObj.charactValue[att.businessassetID + $index]" ng-if="att.charType == 'select' ? 'multiple' : 'multiple=true'"> 
 
     <option ng-repeat="itemss in att.value track by $index" value="{{itemss}}">{{itemss}}</option> 
 
    </select> 
 
    <div class="text-center"><a class="insertStore" data-toggle="modal" data-target="#addCharacteristicValue" ng-click="getObj(att)">Добави</a> 
 
    </div> 
 

 
    </div> 
 
</div>

+0

'... ==' NG-IF = "{{}} att.charType試してみてください –

答えて

1
で選択複数 4で選択 3を選択ここ

は、作業の抜粋です:オプションタグで代わりにNGリピートの

  • 使用NG-オプション
  • は、選択セレクト2つの貴様を生成するための簡単なNG-IFを使用し
  • を失敗させるインデックスでトラックを削除します。

あり、それはそうng-multipleディレクティブではありませんので、私はng-if回避策のために行ってきました。

angular.module("app", []).controller("ctrl", function($scope){ 
 
    $scope.arr = [{charType:'select', name:'select', value:[1, 2]},{charType:'multiple', name:'multiple', value:[1,2]}]; 
 
    $scope.charObj = {characterValue:{}}; 
 
});
<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="form-group" ng-repeat="att in arr track by $index"> 
 
     <div class="col-md-3"> 
 
     <label for="phone" ng-model="type">{{att.name}}</label> 
 
     </div> 
 
     <div class="col-md-9"> 
 
     ({{att.charType}}) 
 
     <select ng-if="att.charType == 'select'" class="form-control" ng-model="charObj.charactValue[att.businessassetID + $index]" ng-options="itemss for itemss in att.value"> 
 
     </select> 
 
       <select ng-if="att.charType != 'select'" multiple class="form-control" ng-model="charObj.charactValue[att.businessassetID + $index]" ng-options="itemss for itemss in att.value"> 
 
     </select> 
 
     
 
     </div> 
 
    </div> 
 
    selected : {{charObj.charactValue}} <br /> 
 
</div>

関連する問題