如何循环遍历表行,更改类,并使用"n〃;行数,并知道每行中第一个单元格的值
How to loop through table rows, change class, and do it all with "n" number of rows and knowing the values of the FIRST cell in each row
好的,简单的问题,令人困惑的答案。。。
我有这个代码:
<tbody>
{{#each alertRow}}
<tr data-toggle="collapse" data-target="#data{{id}}" class="accordion-toggle">
<td><i id="dataCbx{{id}}" style="text-align:center;" class="icon-check center pointerCursor" title="Click here to check/uncheck the box. Click on another part of the row to expand collapse without affecting the checkbox" onclick="changeIcon(this.id);"></i></td>
<td>{{alertLevel}}</td>
<td>{{alertType}}</td>
<td>{{network}}</td>
<td>{{site}}</td>
<td>{{resource}}</td>
<td>{{component}}</td>
<td>{{details}}</td>
<td>{{alertTime}}</td>
</tr>
<tr>
<td colspan="10" class="hiddenRow">
<div id="data{{id}}" class="accordian-body collapse innerTableCollapse">
<div style="float: left;">Server Name:{{network}}</div>
<div style="float: left;">Status:{{status}}</div>
<div style="float: left;">Issue Description: </div>
<div style="float: left;">Alert Details: </div>
<div style="float: left;">Resource Type: </div>
</div>
</td>
</tr>
{{/each}}
</tbody>
注意,我使用的是HANDLEBARS.JS,但这不是问题所在。
所以我需要做的是:
- 当页面被RENDERED时,我需要能够循环浏览所有行,无论有多少行,并检查{{alertLevel}}的值
- 如果ALERTLEVEL=0,则将第一个TD的背景色设为"红色"
- 如果ALERTLEVEL=1,则将第一个TD的背景色设为"黄色"
- 如果ALERTLEVEL=2,则将第一个TD的背景色设为"绿色"
很简单,对吧?
然后,一旦我有了它,基于第一列的ALERTLEVEL,我需要使整行(减去第一列)变为浅红色表示ALERTLEVEL=0,变为浅黄色表示ALERTLEVEL=1,变为淡绿色表示ALERTLEVEL 2。
你能帮我吗??请谢谢
CSS解决方案
为您的警报级别定义类:
td.alertlevel0 {
background-color: #e00;
}
tr.alertlevel0 {
background-color: #f55;
}
在呈现时插入类
<tr class="alertlevel{{alertLevel}}">
<td class="alertlevel{{alertLevel}}">{{alertLevel}}</td>
</tr>
我认为以下内容应该有效,但您需要将id="alertTable"
添加到表中并进行更改:
<td>{{alertLevel}}</td>
至:
<td id="alertRow">{{alertLevel}}</td>
此外,我认为您需要将colspan 10更改为colspan 9,因为您的列似乎不匹配?
你需要包括的脚本是:
<script>
$(function () {
$("#alertTable tr").each(function () {
var alertLevelElement = $("#alertLevel", this);
switch (alertLevelElement.text())
{
case "1":
alertLevelElement.css("background-color", "red");
$(this).css("background-color", "indianred");
break;
case "2":
alertLevelElement.css("background-color", "yellow");
$(this).css("background-color", "lightyellow");
break;
case "3":
alertLevelElement.css("background-color", "green");
$(this).css("background-color", "lightgreen");
break;
default:
console.error("Unrecognised alert level: " + alertLevelElement.text());
}
});
});
</script>
可以在一定程度上减少这种情况,但为了可读性和理解性,这应该足够了。
相关文章:
- 可以'我不明白为什么;t将行和单元格添加到表中
- 如何修改或类似@model.count的内容,根据单元格值计算行数
- ext.js根据行和单元格索引隐藏某些单元格
- 单击表格行和单元格
- 如何循环遍历表行,更改类,并使用"n〃;行数,并知道每行中第一个单元格的值
- 如何创建一个每行列数未知的html表,对齐列,并为每个单元格/行指定一个id
- 如何自定义 dgrid 中特定行的单元格
- 将显示:无设置为第一行的单元格会弄乱表格布局
- 获取网格中焦点行中单元格的值
- 使用Javascript动态添加表、行和单元格
- 是行和单元格的动态集合
- 尝试将行和单元格动态添加到表中
- 从动态生成的表中获取行和单元格值
- 将表中相同点击行的所有单元格值加载到数组中,但第一个和最后一个<td>
- Datatable对每行特定单元格求和
- 如何在数据库内容更新后刷新表、行或单元格内容
- ng-grid是否支持按行过滤单元格(角过滤)?
- jqGrid网格完成:-getRowData-从数组中获取行单元格值
- 尝试通过Google Closure Library使用CoffeeScript注入表、行和单元格
- Javascript/JQuery遍历表行和单元格,并向控制台输出一组选中的复选框