0

我想在我的當前地址數組,但它沒有更新來更新新行的數據, 請參見下面的圖像,我在角度新,加陣列的其他對象看最後的圖像更新記錄到當前的JSON數組angularjs

<tbody class="gradeX"> 
       <tr ng-repeat="x in Profile.addresses"> 
       <td><input type="text" class="form-control" id="inputDefault" ng-model='x.site_name ' name='site_name'></td> 
       <td><input type="text" class="form-control" id="inputDefault" ng-model='x.street_address ' name='street_address'></td> 
       <td><input type="text" class="form-control" id="inputDefault" ng-model='x.city ' name='city'></td> 
       <td><input type="text" class="form-control" id="inputDefault" ng-model='x.state ' name='state'></td> 
       <td><input type="text" class="form-control" id="inputDefault" ng-model='x.country ' name='country'></td> 
       <td><input type="text" class="form-control" id="inputDefault" ng-model='x.zip_code ' name='zip_code'></td> 
       <td><input type="text" class="form-control" id="inputDefault" ng-model='x.phone_number ' name='phone_number'></td> 

       <tr ng-repeat="lines in array"> 
         <td><input type="text" class="form-control" id="inputDefault" ng-model='x.site_name ' name='site_name'></td> 
         <td><input type="text" class="form-control" id="inputDefault" ng-model='x.street_address ' name='street_address'></td> 
         <td><input type="text" class="form-control" id="inputDefault" ng-model='x.city ' name='city'></td> 
         <td><input type="text" class="form-control" id="inputDefault" ng-model='x.state ' name='state'></td> 
         <td><input type="text" class="form-control" id="inputDefault" ng-model='x.country ' name='country'></td> 
         <td><input type="text" class="form-control" id="inputDefault" ng-model='x.zip_code ' name='zip_code'></td> 
         <td><input type="text" class="form-control" id="inputDefault" ng-model='x.phone_number ' name='phone_number'></td> 

              </tr> 
              </tr> 

             </tbody> 
<a href="" data-toggle="tooltip" title="Add Address" ng-click="addRow()"><i class="fa fa-plus fa-2x cust_primary" aria-hidden="true"></i></a> 

代碼片段在地址陣列添加新行:要更新的文本框的值到數據庫

 $scope.i = 0; 
    $scope.array = []; 
     $scope.addRow = function() { 
     $scope.i++; 
     $scope.array = []; 
     for(var i = 0; i < $scope.i; i++) { 
      $scope.array.push(i); 
     } 
    } 

代碼段:

 $scope.updateProfile = function() {  

      $scope.tempObject={full_name:$scope.Profile.full_name, 
       mobile_number:$scope.Profile.mobile_number, 
      company_name:$scope.Profile.company_name, 
      designation: $scope.Profile.designation,  
      addresses: $scope.Profile.addresses, 
      payment_info: $scope.Profile.payment_info 

      }; 

    addresses: $scope.Profile.addresses, 

在下面的圖片我按一下按鈕(+)空文本框,以產生新的行: enter image description here

出現排後,我輸入一些數據: enter image description here

當我點擊更新按鈕黃色突出顯示新行數據不保存,它顯示了舊記錄我刷新後,我的網頁

enter image description here

我的簡單的問題。如何用新行更新地址數組? enter image description here

+1

我沒有看到你在哪裏發送新信息到任何數據庫。你有服務發送到數據庫嗎?或者你只是想更新屏幕上的數組? –

+0

profile.address數組我想要新的行數據也添加 –

+0

2行我被添加後端,但我從前面添加3行,但它不添加地址數組 –

回答

1

如果我理解正確,你只需要在新的數據推到現有陣列象下面這樣:

$scope.updateProfile = function(){ 
$scope.addresses.push($scope.form) 
$scope.form = {}; 
$scope.i = 0; 
} 

添加$scope.form = {}到控制器,收集新行,並更改模型在新排上「形成」。 +列名如下:

<td><input type="text" class="form-control" id="inputDefault" ng-model='form.site_name ' ></td> 
              <td><input type="text" class="form-control" id="inputDefault" ng-model='form.street_address ' ></td> 
              <td><input type="text" class="form-control" id="inputDefault" ng-model='form.city '></td> 
              <td><input type="text" class="form-control" id="inputDefault" ng-model='form.state ' ></td> 
              <td><input type="text" class="form-control" id="inputDefault" ng-model='form.country ' ></td> 
              <td><input type="text" class="form-control" id="inputDefault" ng-model='form.zip_code ' td> 
              <td><input type="text" class="form-control" id="inputDefault" ng-model='form.phone_number '></td> 

請注意,您將不得不做更多的事情來實際上將其永久添加到您的數據庫中。

這裏是一個Plunker

+0

不能正常工作,表單Object當我檢查時爲null,console.log($ scope.form) –

+0

是否定義了$ scope.form = {};在你的控制器的頂部?在給它分配任何東西之前,你必須定義它。看看Plunker中的代碼。 $ scope.form是在頁面呈現之前定義的。 –

+0

是控制檯日誌顯示[] –