我的代码如下所示:
<tr *ngFor = "let data of values; let i = index">
<td>
<label class="checkbox">
<input type="checkbox" (change) = "insertRow(i)">
</label>
<a (click) = "getTerms(data.id)">{{data.id}}</a>
</td>
<td>{{data.desc}}</td>
</tr>
我有一个要求,我需要在行下方插入一行,点击该复选框。我试图找出索引并附加在索引下方,但没有成功。请让我知道如何实现这一目标?
答案 0 :(得分:1)
不是将索引作为getTerms()
的参数传递,而是可以像这样传递$event:
<a (click) = "getTerms($event)">{{data.id}}</a>
然后在你的组件中你可以这样做:
getTerms(e) {
console.log(e.target);
// supposed you are using jQuery
// update
$('<tr>New row</tr>').insertAfter($(e.target).closest('tr'));
}
您获得了当前目标,然后找到所点击目标的tr
父目标。