无法使用 ng-repeat-start(ngAnimate) 展开来跟踪 table 行

Can't able to track table row using ng-repeat-start(ngAnimate) to expand

我想跟踪展开的行并保存包含城市和工作详细信息的表格,问题是在单击它随表格展开的特定行时,但我无法跟踪该行...

var app = angular.module('app', ['ngAnimate']);

app.controller('itemsController', function( $scope ) {

$scope.divisions    = [{id:12, div_name:' city1'},
                      {id:13, div_name:' city2'},
                      {id:14, div_name:' city3'}];

$scope.works        =[{wid:111, w_name:'work1'},
                     {wid:222, w_name:'work2'},
                     {wid:333, w_name:'work3'}];
});

html

<div ng-controller="itemsController" class="box">

<table border="1">
    <tbody ng-repeat-start="division in divisions">
        <td>
            {{division.div_name}}
            <em>{{expanded}}</em>
        </td>
        <td>Values: {{divisions.length}}</td>
        <td>
            <button type="button" ng-click="expanded = !expanded">
                Expand
            </button>
        </td>
    </tbody>
    <tbody ng-repeat-end ng-show="expanded">
        <td colspan="3">

             <select ng-model="result.division.tt">
               <option value='01'>tt1..........</option>
               <option value='02'>tt2..........</option>
             </select><br/><br/>
                <ul ng-repeat="work in works">
                   {{work.w_name}}  <input type=text />                                
                </ul><br/><br/>
                 <button ng-click="save()">save</button>
        </td>
    </tbody>
</table>{{result |json}}

link - http://jsfiddle.net/raju10281/eqk6attx/18/

提前致谢!!!

试试这个 solution。您应该为每个 ng-repeat 创建对象 (ng-init='data={}')。它会显示每个表单的内容,然后你可以在你的控制器(ng-click="save(division, data)")中使用它并适当地 division:

<tbody ng-repeat-end ng-show="expanded" ng-init='data={id:division.id,div_name:division.div_name,works:[]}'>
    <td colspan="3">

         <select ng-model="data.tt">
           <option value='01'>tt1..........</option>
           <option value='02'>tt2..........</option>
         </select><br/><br/>
            <ul ng-repeat="work in works" ng-init='data.works[$index]={wid:work.wid,w_name:work.w_name}'>
               {{work.w_name}}  <input type=text ng-model='data.works[$index].input' />
            </ul><br/><br/>
            <button ng-click="save(division, data)">save</button>
    </td>
</tbody>