2014-07-27 80 views
3

我想用angularJS獲取行的索引表

<table> 
<tbody> 
    <tr ng-repeat = "cust in costomers"> 
    <td> cust.name </td> 
    <td> cust.phone </td> 
    <td> cust.address </td> 
    </tr> 
</tbody> 

我想有一個包含每一行的索引的變量來獲得每行的索引表中未只是顯示它

+0

包含索引的變量是什麼意思?解釋預期的用法 – charlietfl

+0

每行中的數據將根據改變它的需要而改變因此,不是將它發送到服務器,而是再次接收它以顯示給用戶,我想直接更改它,而不需要從服務器獲取它們當我改變行 – user3881679

+0

的索引時,甚至不需要索引,將'cust'作爲參數傳遞給任何控制器方法。仍然不是很清楚什麼更高級別的問題是 – charlietfl

回答

4

我認爲你應該使用<tr>標籤來放置你的ng-repeat指令。 您可以使用ng-repeat's$index屬性。見ng-repeatdocumentation

<table> 
    <tbody> 
    <tr ng-repeat = "cust in costomers"> 
     <td> {{$index}} </td> 
     <td> {{cust.name}} </td> 
     <td> {{cust.phone}} </td> 
     <td> {{cust.address}} </td> 
    </tr> 
    </tbody> 
</table> 
+0

我想有一個變量,其中包含每行的索引,而不是隻顯示它 – user3881679

+0

你能告訴我你的用例讓每個項目都有一個索引屬性嗎?也許有另一種方法來解決你的問題? – ryeballar

+0

每行中的數據將根據需要更改它 因此,而不是將其發送到服務器,然後再次接收它以顯示它爲用戶 我想直接更改它,而不需要每次從服務器獲取它我改變了該行的索引 – user3881679

9

可以使用$索引時不被過濾的NG-重複

<tr ng-repeat = "cust in costomers"> 
    <td> {{$index}} </td> 
    </tr> 
0

$指數正常工作。如果您使用過濾器,則最好使用indexOf()。例如:

<input type="text" ng-model="filterCustomers" placeholder="search..."> 
<table> 
    <tbody> 
    <tr ng-repeat = "cust in costomers | filter:filterCustomers"> 
     <td> {{costomers.indexOf(cust) + 1}} </td> 
    </tr> 
    </tbody> 
</table>