-2

をangularjsに私は新しい行を追加したが、私は、データベースにも新しい行のデータを更新したいが、何も更新されたデータは、新しい行のデータは、アドレスJSON配列新しい行のデータを追加する方法を現在のJSON配列が

 <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> 
を追加取得する方法はありません

<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> 

<div class="col-md-2"> 

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

enter image description here

+0

DOM操作をしようとするのではなく、角度のmvcを利用することができます –

答えて

1

コントローラで、カウンタとアレイを作成します。

$scope.i = 0; 
$scope.array = []; 

ユーザがボタンをクリックするたびに、カウンタに1を加えて配列を作成します。

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

あなたのhtmlでは、単純にそのカウンタに基づいて行を繰り返します。

<tr ng-repeat="lines in array"> 
    // Your tds 
</tr> 

EDIT私はあなたの英語を理解することはできませんので、私はあなたに、一般的な答えを与えるだろう。お使いのコントローラがオブジェクト

$scope.i = 0; 
$scope.array = [{ 
    id: 0, 
    address: 'address 1', 
    name: 'Jack Reacher' 
}, { 
    id: 1, 
    address: 'address 2', 
    name: 'Ethan Hawk' 
}]; 

の配列を持っている必要があります

あなたがして少しあなたのAddRow機能を変更します。

$scope.addRow = function() { 
    $scope.i++; 
    $scope.array = []; 
    for(var i = 0; i < $scope.i; i++) { 
     $scope.array.push({ 
      id: null, 
      address: '', 
      name: '' 
    }); 
    } 
} 

あなたのHTMLでは、あなたがそれを使用します。

<tr ng-repeat="object in array"> 
    <td>{{object.id}}</td> 
    <td><input type="text" ng-model="object.address" /></td> 
    <td><input type="text" ng-model="object.name" /></td> 
</tr> 

そして、あなたはそれを保存したい場合は、あなたが$http要求を使用しています。私はあなたにその部分を扱わせます。

+0

ありがとうございましたbro –

+0

どのようにこれらの新しい行値を追加するのですか? –

+0

申し訳ありませんが、あなたは言い換えることができますか? – trichetriche

関連する問題