Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选中复选框时,如何突出显示表格行?角度7_Javascript_Html_Css_Typescript_Angular7 - Fatal编程技术网

Javascript 选中复选框时,如何突出显示表格行?角度7

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

因此,让我们跳过表格标题到我的表格正文。我有一个填充的表:

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-{{i}}">{{e.sender}}</td>
   <td id="subject-{{i}}">{{e.subject}}</td>
   <td id="subject-{{i}}">{{e.date}}</td>
</tbody>


不是角度专家,但您可以使用绑定到复选框的JS
onchange
事件来实现:

$(.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事件中的逻辑,您是正确的。