如何在jqGrid鼠标上设置工具提示?

Mar*_*eon 15 jquery tooltip jqgrid

如何设置将鼠标悬停在jqGrid行/单元格上时出现的"工具提示"?

目前,工具提示似乎只是单元格内容.

Ole*_*leg 23

一般来说,我同意Justin的观点,即jqGrid没有直接在行上设置工具提示的方法,你只能在单元格的基础上做到这一点.所以你必须手动完成这个.

首先,您应该在所有单元格上设置title:false属性,以便没有单元格的工具提示.然后,您必须设置每行的自定义工具提示.例如,您可以在loadComplete事件句柄中执行此操作.相应的代码可以是以下内容:

loadComplete: function() {
    var ids = grid.jqGrid('getDataIDs');
    for (var i=0;i<ids.length;i++) {
        var id=ids[i];
        var rowData = grid.jqGrid('getRowData',id);
        $('#'+id,grid[0]).attr('title', rowData.Name + ' (' +
                                        rowData.Category + ', ' +
                                        rowData.Subcategory + ')');
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处看到相应的示例.

更新:在更晚的jqGrid版本中,有更有效的方法来设置自定义title.它的用法cellattr(参见答案的例子)或用法rowattr(见答案).我建议gridview: true总是使用jqGrid的选项.使用cellattrrowattr与之一起gridview: true允许创建完整的网格主体,包括在页面的一个修改中需要的所有工具提示(包括所有工具提示的网格主体的完整HTML片段将被分配给innerHTML属性)..attr循环中的使用至少遵循扩展的回流(参见此处).所以使用cellattrrowattr结合gridview: true允许实现最佳性能.