10

我正在使用 jqGrid,我正在尝试为每个 tr 添加一个 data- 属性。我正在触发 loadComplete 事件,但我不确定如何修改每一行。任何代码示例?

4

2 回答 2

13

您可以使用rowattr为元素分配任何附加属性<tr>(参见答案和代码示例)例如,您可以使用

rowattr: function (rd) {
    return {"data-mydata": JSON.stringify(rd)};
}

将完整的输入行数据保存为data-mydata属性。我建议您使用rowattr``in combination withgridview: true` 选项以获得最佳性能结果()

该演示使用上面的rowattrcade,您可以看到网格行具有附加data-mydata属性:

在此处输入图像描述

于 2013-08-19T11:53:53.140 回答
0

在我的情况下,我通过标识设置网格的第一列。在我的所有情况下,我的网格的每个数据行的 id 都是该标识列的值。

jqGrid 列:

colModel: [
{
name:'ID',
label:'...',
width:1,
index:'ID'
...

渲染:

<tr role="row" id="10777" ... > // in retrieved data: ID = 10777

所以,如果你有像我一样的类似声明,这对你来说可能是一个有用的选择器,你可以像这样简单地将你的 data-attrib 添加到这些行中:

$('#trId').prop('data-whatever', 'value');

如果您希望对所有行自动执行上述行,您应该稍微更改它并将其放gridComplete入网格的事件中:

gridComplete: function() { $("tr[role='row']").prop('data-whatever', 'value'); }
于 2013-08-16T20:48:29.967 回答