我有一个使用jqGrid构建的表。如果一个单元格为空(gridtable1_Age),我希望另一个单元格(gridtable1_Name)中的文本为粗体。我正在尝试使用loadComplete但它似乎没有工作或者我在正确的位置使用它。
jQuery("#grid1").jqGrid('setGridParam', opts).trigger("reloadGrid", [ {
page : 1,
loadComplete : function () {
$('td[aria-describedby=grid1_Age]:empty',
'#gridtable1').parent().find('td[aria-
describedby=grid1_Name]').css('font-weight', 'bold');
}
} ]);
编辑:我的网格是使用Struts2标签构建的
答案 0 :(得分:2)
我认为您有Age
和Name
列。您可以做的是在cellattr
列中定义Name
属性,如下所示
cellattr: function (rowId, val, item) {
if (item.Age === "") { // or some very close test
return ' style="font-weight: bold;"';
}
}
在的情况下,将使用正确的CSS样式创建网格。在页面上进行任何更改都会更快(请参阅the answer,其中描述了所有修改都遵循整个页面的其他重排,如果可能的话,应该减少修改)。
顺便说一下,你发布的代码不起作用,因为"空"单元格可能包含 
符号。
答案 1 :(得分:0)
我认为grid1_Age
和grid1_name
需要在选择器中用引号括起来,如下所示:
loadComplete : function () {
$('td[aria-describedby="grid1_Age"]:empty', '#gridtable1').parent().find('td[aria-
describedby="grid1_Name"]').css('font-weight', 'bold');
}
如果grid1_Age
和/或grid1_name
是变量而不是文字,那么正确的方法是:
loadComplete : function () {
$('td[aria-describedby="'+grid1_Age+'"]:empty', '#gridtable1').parent()
.find('td[aria-describedby="'+grid1_Name+'"]').css('font-weight', 'bold');
}
} ]);