2016-04-15 7 views
0

これで、ng-repeatがテーブルを構築する方法を理解するのが難しいです。私がしようとしているのは、行ごとに、顧客名と住所があるということです。私はそれを働かせることはできません。ここに私のHTMLコードは次のとおりです。ng-repeatのデータごとに異なるテーブル行角度

<table class="table table-striped" ng-controller="myController"> 
    <thead> 
    <tr> 
     <th>Company Name</th> 
     <th>Address</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr ng-repeat="company in fieldData" row-id="{{ company.name }}"> 
     <td>{{ company.name }}</td><td>{{ company.address }}</td> 
    </tr> 
    </tbody> 
</table> 

、ここでは私のスクリプトは次のとおりです。

var companyName = []; 
    var companyAddress = []; 

    $scope.fieldData = []; 

    $(data).find('record').each(function() { 
     companyName.push($(this).record(6)); 
     companyAddress.push($(this).record(47)); 
    }); 

    $scope.fieldData.push({ 
     name: companyName, 
     address: companyAddress 
    }) 

だから、のcompanyNameとcompanyAddress配列で、名前と保存されているアドレスがあります。しかし、私は1つの会社&行ごとに取得することはできません。何か案は?

+0

現在、あなたはfieldData配列内に単一のオブジェクトを持っています。これは、プッシュを一度だけ呼び出して、オブジェクトを配列としてプロパティとして返します。あなたが作成した配列を他の配列に移動して、すべての項目にプッシュを呼び出すことをお勧めします。また、jqueryの使用を避けて、すぐにfieldData配列を作成することもできます。 –

+0

データが正しく構造化されていないためです。角度プロパティは配列にバインドされています。 – KreepN

+0

例を教えてもらえますか? – jake

答えて

2

のようにあなたは、2つの配列の一つの目的を持つ1つの要素の配列を構築しました:あなたが名前とアドレスフィールドを持つオブジェクトの配列を持ちたい

fieldData: [ 
    { 
     name: [ 
      'name1', 'name2', 'etc' 
     ], 
     address: [ 
      'addr1', 'addr2', 'etc' 
     ] 
    } 
] 

fieldData: [ 
    { 
     name: 'name1', 
     address: 'addr1' 
    }, 
    { 
     name: 'name2', 
     address: 'addr2' 
    }, 
    { 
     name: 'etc', 
     address: 'etc' 
    } 
] 

をそれを達成するには、一緒に行く:

$scope.fieldData = []; 

$(data).find('record').each(function (item) { 
    $scope.fieldData.push({ 
    name: item.record(6), 
    address: item.record(47) 
    }); 
}); 
+0

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

関連する問題