我在这里看到了许多答案,但似乎没有一个对我有用。而且我不明白为什么?
jqGrid 4.4.2
对于db:
中已经选中的复选框gridComplete: function() {
$("input:checkbox:checked").closest('tr').addClass("redBackground");
},
不起作用,但closest('td')
或parent()
确实改变了细胞bg的颜色!
现在正在改变:
$(document).on('change', "input[type='checkbox']", function(){
if($(this).is(":checked")){
$(this).parent().addClass("redBackground");
}else{
$(this).parent().removeClass("redBackground");
}
});
这适用于单元格,但如果我更改为closest('tr')
或parent().parent()
- 行颜色不会更改
我错过了什么?..
这可能与行分组有关吗?
groupingView : {
groupField : ['Date'],
groupColumnShow : [true],
groupOrder: ['desc'],
groupDataSorted : true
},
答案 0 :(得分:3)
根据数据在网格行上设置颜色或背景颜色的最佳方法是使用rowattr
回调。 The answer提供了一个例子。您使用的方法通常也应该工作但是要慢。典型的原因可能是您只在类background-color
的定义中指定redBackground
。 jqGrid使用的标准jQuery UI类使用background
CSS代替。因此,要更改行的背景颜色,您必须将background-image: none
另外设置为background-color
。 the answer中描述了设置颜色的其他一些变体。