Javascript 选中复选框时,如何突出显示表格行?角度7
因此,让我们跳过表格标题到我的表格正文。我有一个填充的表: HTML:Javascript 选中复选框时,如何突出显示表格行?角度7,javascript,html,css,typescript,angular7,Javascript,Html,Css,Typescript,Angular7,因此,让我们跳过表格标题到我的表格正文。我有一个填充的表: HTML: <tbody> <tr *ngFor="let e of emails; let i = index"> <td <input type="checkbox" id="email-checkbox" (change)="addToSelectedList($event, e)"></input></td> <td id="subject
<tbody>
<tr *ngFor="let e of emails; let i = index">
<td <input type="checkbox" id="email-checkbox" (change)="addToSelectedList($event, e)"></input></td>
<td id="subject-{{i}}">{{e.sender}}</td>
<td id="subject-{{i}}">{{e.subject}}</td>
<td id="subject-{{i}}">{{e.date}}</td>
</tbody>
不是角度专家,但您可以使用绑定到复选框的JSonchange
事件来实现:
$(.box”).on(“更改”,函数(){
$(this.parents(“tr”).toggleClass(“highlight”);
});代码>
。突出显示{
背景色:#ffff00;
}
标签1
标签2
此处的操作方式更复杂,因为您可能在addToSelectedList事件中有一些逻辑,根据选中状态添加/删除电子邮件。最简单的方法是在电子邮件实体isSelected上添加属性,并执行以下操作:
<input ... [checked]="e.isSelected" >
在tr上添加其他人建议的ngclass绑定,如下所示:
<tr [ngClass]="{ 'selectedcssclass' : e.isSelected }"...
您可以尝试使用[ngClass]=“selectedElementClass(e)”
,其中该方法返回应放在tr
上的类字符串。你真的很接近。你已经有你的变更事件给你一个bool,我想你已经存储到一个公共var或者其他什么了,对吗?现在,只需将其与。但是,出于性能原因,请使用基本的{'classname':booleanVar}
格式而不是方法来设置它。@ChrisW。所以这是可行的,只是它没有将类应用于所选tr的特定索引,而是突出显示了表中的所有表行。另一个观察结果是,输入使用相同的id重复,但这更接近。非常感谢,是的,关于addToSelectedList事件中的逻辑,您是正确的。