2016-04-15 31 views
0

好吧,我很難理解ng-repeat如何構建表格。我想要做的是每行都有客戶名稱和地址。我無法讓它工作。這是我的HTML代碼:ng-repeat中每個數據的不同表格行Angular

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

所以,在公司名稱和置業有限公司的陣列,也有名字和地址被存儲。但我無法獲得每行一個公司的&地址。有任何想法嗎?

+0

目前,你有一個單一的對象在你的fieldData數組,因爲你只需要一次push並插入一個唱歌le對象與數組作爲它的屬性。我建議去其他你創建的數組,併爲每個項目調用push。你也可以避免使用jQuery,然後簡單地創建fieldData數組 –

+0

這是因爲你的數據結構不正確。你的角度屬性綁定到數組。 – KreepN

+0

你能幫我一個例子嗎? – jake

回答

2

您構建的一個元素數組兩個數組的一個對象,如:

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

相關問題