2017-07-27 6 views
-1

ng-repeatと[$ index]に問題があります。私の問題は、すべての入力(値引きをして「+」をクリック)の値を1つの配列に格納し、次にデータベースに保存することです。最初の問題は、入力値を1つの配列に挿入できないことです(最初の配列は配列に挿入されません)。私が使用してみてください。1つの配列に値を挿入する

ng-repeat="input in inputs track by $index" 

フィドル:それは$インデックスを持っていないので、最初の入力が外部にNGリピートのであるため、それは働いていない https://jsfiddle.net/j6uwhb6v/4/

答えて

1

が...ここで簡単な修正です。

HTML:

<div ng-app="productController" ng-controller="productCtrl" class="row-fluid"> 
     <div class="col-md-12"> 
      <div class="form-group"> 
       <div class="input-group mb-2 mr-sm-2 mb-sm-0"> 
        <div class="input-group-addon"> 
         <i class="fa fa-pencil"></i> 
        </div> 
        <input ng-disabled="product.disabled" type="text" ng-model="description[0]" name="description" class="form-control" placeholder="Description..." required> 
        <div class="input-group-addon"> 
         <a ng-click="addfield()" class="add-field"> 
          <i class="fa fa-plus"></i> 
         </a>       
        </div> 
       </div> 
       <div ng-repeat="item in inputs track by $index"> 
        <div class="input-group mb-2 mr-sm-2 mb-sm-0 repeat-input"> 
         <div class="input-group-addon"> 
          <i class="fa fa-pencil"></i> 
         </div> 
         <input ng-disabled="product.disabled" type="text" name="description" ng-model="description[$index+1]" class="form-control" placeholder="Description..." required> 
        </div> 
       </div> 
      </div> 
     </div> 
     {{description}} 
    </div> 

はJavaScript:

$scope.inputs = []; 
$scope.addfield = function(){ 
    $scope.inputs.push({}) 
} 
$scope.description = []; 

作業コード:JSFiddle

+0

はい!それは私を非常に助けます –

関連する問題