我有一个问题。我需要使用 Angular.js 从我的应用程序的表结构中删除一个特定行。我的代码位于下面的 plunkr 链接中。
在上面的代码中,为星期一创建 3 行,并填充所需的数据,每一行都应该不同。使用 -
按钮删除中间行,您可以检查最后一行子类别显示错误。这是我的问题。如果我要删除任何特定行,则该行数据应从数组中删除,而其他行将与所选数据保持不变。请帮助我。
最佳答案
我编辑了你的骗子:https://plnkr.co/edit/4okaCC?p=preview
您的问题在于您在 ng-repaet 中使用 $index 。当您删除中间行时,第三行的 $index 会发生变化,并且您引用了错误的类别。 我将您的 plunker 更改为使用根据所选类别返回子类别的函数:
$scope.getSubCategoryFor = function(answer) {
if(!answer.category) {
return [];
}
console.log(answer);
var result = $filter('filter')(subcategories, {id:answer.category.id});
console.log('result', result);
return result;
}
我在 html 中使用它:
<table>
<tbody>
<tr ng-repeat="answer in d.answers">
<td>
<select class="form-control" id="answer_{{$index}}_subcategory" name="answer_{{$index}}_subcategory" ng-model="answer.subcategory" ng-options="sub.name for sub in getSubCategoryFor(answer)">
<option value="">Select Subcategory</option>
</select>
</td>
</tr>
</tbody>
</table>
希望这对你有帮助
关于javascript - 无法使用 Angular.js 从表中删除预期的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428566/