jqGrid更改选中复选框的行颜色

时间:2013-08-28 11:02:04

标签: jqgrid background-color

我在这里看到了许多答案,但似乎没有一个对我有用。而且我不明白为什么?  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
    },

1 个答案:

答案 0 :(得分:3)

根据数据在网格行上设置颜色或背景颜色的最佳方法是使用rowattr回调。 The answer提供了一个例子。您使用的方法通常也应该工作但是要慢。典型的原因可能是您只在类background-color的定义中指定redBackground。 jqGrid使用的标准jQuery UI类使用background CSS代替。因此,要更改行的背景颜色,您必须将background-image: none另外设置为background-colorthe answer中描述了设置颜色的其他一些变体。