我使用@Stofke(original jsfiddle)的腳本來使用JQuery在HTML表格上進行條件格式化。基於隱藏字段的JQuery條件格式化
我一直在試圖調整這個腳本,以便得分是基於一個隱藏的表單域(見下文),但是當我這樣做時,我只顯示一種顏色,而不是比不同的顏色標度。
$(function() {
$('tr> td').each(function(index) {
var scale = [['vPoor', 10], ['poor', 50], ['avg', 250], ['good', 1250], ['vGood', 6250]];
var score = $('input.sf').val();
for (var i = 0; i < scale.length; i++) {
if (score <= scale[i][1]) {
$('input.sf').closest('tr').addClass(scale[i][0]);
}
}
});
});
我相信這是一個新手的錯誤,但如果有人能夠請把錯誤指向我,這將是偉大的。
HTML表結構
<table>
<col id="name" />
<col id="score" />
<thead>
<tr>
<th>Name</th>
<th>Score</th>
</tr>
</thead>
<tbody>
<tr>
<td>Allan, Paul</td>
<td><input type="hidden" class="sf" value="5"></td>
</tr>
<tr>
<td>Bartlett, James</td>
<td><input type="hidden" class="sf" value="60"></td>
</tr>
<tr>
<td>Callow, Simon</td>
<td><input type="hidden" class="sf" value="35"></td>
</tr>
<tr>
<td>Dennis, Mark</td>
<td><input type="hidden" class="sf" value="289"></td>
</tr>
<tr>
<td>Ennals, Simon</td>
<td><input type="hidden" class="sf" value="1020"></td>
</tr>
<tr>
<td>Finnegan, Seamus</td>
<td><input type="hidden" class="sf" value="5648"></td>
</tr>
</tbody>
</table>
刪除':odd'選擇器的原因是什麼? –
我不認爲這是必需的,因爲我想要條件格式的acrossnall列。 –
你仍然需要':odd'選擇器,因爲這是你的值來自的地方。您可以使用'.closest('tr')'完成所有行的設置(跨所有列)。 –