我有一个两页的应用程序。第1页用于创建表的输入,并根据此输入在下一页创建表。
这是我的第一页:
我想根据选中的复选框删除行,但它总是从最后删除行。
这是我的controllers.js
$scope.tableSelection = {};
['Delete', function ($itemScope) {
//$rootscope.rows contains the number of rows given as input
for (var i = $rootScope.rows.length - 1; i >= 0; i--) {
if ($scope.tableSelection[i]) {
//delete row from data
$rootScope.rows.splice(i, 1);
//delete rowSelection property
delete $scope.tableSelection[i];
}
}
}]
这是我的第二个html页面,我需要根据选择删除行
<tbody>
<tr ng-repeat="row in rows track by $index" ng-class="{'success' : tableSelection[$index]}">
<td>
<input type="checkbox" ng-model="tableSelection[$index]">
</td>
<td ng-repeat="col in output_columns track by $index">
<enter data>
</td>
<td ng-repeat="col in input_columns track by $index">
<enter data>
</td>
</tr>
</tbody>
但是只有最后一行被删除而不是被选中的行。 任何人都可以建议我错过或做错了。
答案 0 :(得分:0)
It could be because you are providing an index value of -1. Splice will always remove the last row if the index value you pass is -1.