2017-07-27 65 views
-1

我有ng-repeat和[$ index]的問題。我的問題是,我想從所有inputes(查看小提琴和單擊「+」)存儲在一個數組中的值,然後保存在數據庫中。問題出現在一開始我無法在一個數組中插入輸入值(第一個數組未插入到數組中)。我嘗試使用:在一個數組中插入值

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

小提琴: https://jsfiddle.net/j6uwhb6v/4/

回答

1

它不工作,因爲第一個輸入是NG重複之外,因此沒有一個$指數...這裏有一個簡單的解決辦法:

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 = []; 

Working Code:JSFiddle

+0

yes!它非常有幫助 –