我有一个问题。我需要使用Angular.js从我的应用程序的表结构中删除一个特定的行。我的代码存在于下面的plunkr链接中。
在上面的代码中为星期一创建3行并填写所需的数据,所有这些都应该与每一行不同。使用-
按钮删除中间行,您可以检查最后一行子类别是否显示错误。这是我的问题。我需要,如果我删除行数据应该从数组中删除的任何特定行,其他行将与所选数据保持不变。请帮助我。
答案 0 :(得分:1)
我编辑了你的plunker:https://plnkr.co/edit/4okaCC?p=preview
您的问题在于您在ng-repaet中使用$ index。删除中间行时,第三行的$ index会发生变化,并引用错误的catgeory。 我更改您的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>
我希望这会对你有所帮助