2016-02-05 101 views
0

我想开项目的所有名单在各自的重复行的时间开行的名单有,这里是plunker http://embed.plnkr.co/omBL2czm9fRBEVIeQUyD/ 请帮助我。嵌套NG-重复发行该行

这是我的目标:

 $scope.names=[ 
      {no:'1', name:'Jani', country:'Norway', 
        cities:[{city:'A1'},city:'A2'},{city: 'A3'}]}, 
      {no:'2', name:'Hege',country:'Sweden', 
        cities:[{city:'b1'},{city:'b2'}, {city: 'b3'}]}, 
      {no:'3', name:'Kai',country:'Denmark', 
        cities:[{city:'c1'},{city:'c2'}, {city: 'c3'}]}]; 

这里是我的html:

<table> 
    <tbody ng-repeat="name in names"> 
     <tr > 
      <td> 
       {{name.no}} 
      </td> 
      <td> 
      {{name.name}} 
      </td> 
      <td>{{name.country}}</td> 
      <td> 
      <button data-ng-click="isOpenPayablePayments[$index] = !isOpenPayablePayments[$index]; togglePayablePayments(name.no, $index)" >Paid</button> 
      </td> 
     </tr> 
     <tr data-ng-show="isOpenPayablePayments[$index]"> 
       <td> 
        <table> 
         <thead> 
          <tr> 
           <th>City</th> 
          </tr> 
         </thead> 
         <tbody> 
          <tr data-ng-repeat="city in cities"> 
           <td>{{city.city}}</td> 
          </tr> 
         </tbody> 
        </table> 
       </td> 
      </tr> 
    </tbody> 
</table> 

回拨按钮单击重复内

 var getCities = function (no) { 
     for (i = 0; i <= $scope.names.length; i++) { 
      if (no === $scope.names[i].no) { 
       console.log($scope.names[i].cities); 
       return $scope.names[i].cities; 
      } 
     }; 
    }; 

    $scope.togglePayablePayments = function (no, index) { 
     $scope.cities = getCities(no); 

    }; 

我想用相应的行打开嵌套列表。 PLUNK解释了这个问题。

+0

规则上,就是为了把与你的错误你的问题的一切。如果你愿意,你可以添加一个plunkr。 http://stackoverflow.com/help/mcve这样,如果plnkr被关闭,你的问题不会直接对其他人无用。 –

回答

-1

这个问题没有清楚地解释,但是我看到,当我打开第二棵树时,所有树的所有物品都是相同的。不需要$ scope.cities,这是你问题的根源。

我刚换了第二个NG-重复:

<tr data-ng-repeat="city in cities"> 
    <td>{{city.city}}</td> 
</tr> 

这样:

<tr data-ng-repeat="city in name.cities"> 
     <td>{{city.city}}</td> 
</tr> 
+0

你是否清楚地检查了对象,这不是我的问题,我的问题与我在应用程序中使用的相同类型的对象有关。我已经准备好了一个确切的问题。对象不同 –

+0

我有不同的行为。在IE 9上,它没有显示任何城市。在铬上,如果我点击Jani,它会显示A1/A2/A3。如果我点击Hege。它显示Hege下的b1/b2/b3,但它显示了Jani下的b1/b2/b3。这可能不是你要求的,但这是一个错误:)。你想要什么 ?同时打开所有子集,只打开一个子集并关闭其他子集? – Walfrat

+0

在按钮上点击打开,如果打开它,如果再次点击它必须关闭的同一个按钮,我打开它的行必须显示确切的行数据。如果我打开第一个打开然后第二个行它必须显示其各自的行数据。 –