0

我在这里看到了很多答案,但似乎没有一个对我有用。我不明白为什么? jqGrid 4.4.2

对于来自 db 的已选中框:

gridComplete: function() {
    $("input:checkbox:checked").closest('tr').addClass("redBackground");
},

不起作用,但closest('td')或者只是parent()改变了单元格背景颜色!

这是变化:

$(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
    },
4

1 回答 1

3

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

于 2013-08-28T12:56:24.273 回答