过滤并将背景颜色应用于jqGrid中的tr

我有这个代码,它给我下面的firebug输出,所以根据这个输出我可以过滤td并分配不同的背景颜色,对吧?

截图

我的代码

 loadComplete: function() { var i, names=this.p.groupingView.sortnames[0], l = names.length; for (i=0;i<l;i++) { if (names[i]==='envVariable') { $(this).jqGrid('groupingToggle',this.id+"ghead_"+i); } else { // hide the grouping row $('#'+this.id+"ghead_"+i).hide(); } } var getColumnIndexByName = function(grid, columnName) { var cm = grid.jqGrid('getGridParam','colModel'),i=0,l=cm.length; for (; i<l; i++) { if (cm[i].name===columnName) { return i; // return the index } } return -1; }; var iCol = getColumnIndexByName($(this),'isEqual'), cRows = this.rows.length, iRow, row, className; for (iRow=0; iRow 0) { // $(row).hasClass('jqgrow') //this prints into console console.info(row.cells[iCol]); //here i am trying to apply filter $(row.cells[iCol]) .filter("false") .css("background", "#c8ebcc", "background-color", "#DCFFFF", "background-image", "none"); } } } 

**更新**

@Oleg:我需要隐藏所有isEqualtrue的行,并且只显示具有所有更改背景颜色的isEqualfalse的行。 所以我修改了你的代码,如下所示,但它不会隐藏行,它只显示整个事情,没有任何改变,我哪里出错了?

 var i, l, data = this.p.data, rows = this.rows, item; l = data.length; for (i=0;i<l;i++) { item = data[i]; if (!item.isEqual) { $(rows.namedItem(item._id_)) .css({ "background-color": "#DCFFFF", "background-image": "none" }); } else { $(rows.namedItem(item._id_)).hide(); } } 

我想,你当前的问题会延续你之前的问题 。 在您使用本地数据的情况下,您可以非常轻松地获取所有网格数据。 您可以先定义其他隐藏的网格列:

 { name: 'isEqual', index: 'isEqual', width: 100, hidden:true } 

然后使用以下代码附加loadComplete

 var i, l, data = this.p.data, rows = this.rows, item; l = data.length; for (i=0;i 

结果将是

在此处输入图像描述

请在此处查看演示。