我有一个handsontable
,如下:
$(document).ready(function () {
$("#example1grid").handsontable({
colHeaders: [],
});
var data = [
["2008", 10, 11, 12, 13],
["2009", 20, 0, 14, 13],
["2010", 30,35, 12, 13]
];
$("#example1grid").handsontable("loadData", data);
});
我需要的是:
我的 B 列的值为:10,20,30 和 C 列 -> 11,0,35
如果单元格 C 中的值 > 单元格 B 中的值,则单元格 B 的背景颜色应为红色,否则单元格 B 的背景颜色应为绿色。
结果单元格 B 中的值为 10,30 -> 红色和 20 -> 绿色
检查 fiddle :FIDDLE
最佳答案
尝试:
$(document).ready(function () {
$("#example1grid").handsontable({
colHeaders: ["", "Kia", "Nissan", "Toyota", "Honda"],
});
var data = [
["2008", 10, 11, 12, 13],
["2009", 20, 11, 14, 13],
["2010", 30, 15, 12, 13]
];
$("#example1grid").handsontable("loadData", data);
//$('td').css('background-color', 'red');
});
Handsontable.hooks.add('afterRender', function(){
var f = $('.htCore').find('tbody tr td:nth-child(2)');
var s = $('.htCore').find('tbody tr td:nth-child(3)');
f.each(function(i,v){
if (s.eq(i).text() > $(v).text()) {
$(v).css({'background':'red'});
} else {
$(v).css({'background':'green'});
}
});
});
http://jsfiddle.net/2ra8gwa7/1/
或:
$("#example1grid").handsontable("loadData", data);
//$('td').css('background-color', 'red');
});
Handsontable.hooks.add('afterRender', function() {
var d = this;
var col1 = d.getDataAtCol(1);
var col2 = d.getDataAtCol(2);
$.each(col1,function(i,v){
if (col2[i] > v ) {
$(d.getCell(i,1)).css({'background':'red'});
} else {
$(d.getCell(i,1)).css({'background':'green'});
}
});
关于jquery - 可手动更改相对于下一列的下一个单元格的单元格颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34304350/