我有jqgrid coloumn,我想为一个列自定义我的工具提示,而对于其他我需要默认工具提示。
任何线索?
我的专栏如下所示
....
{
name : 'title',
index : 'title',
width : '20%',
align : 'center',
sorttype : false,
sortable : false
}
答案 0 :(得分:1)
如果您希望列{strong>标题为tooltip
,则可以添加title
属性 jquery ,如下所示:
如果你的网格容器:
<div id="myJqgrid"></div>
然后你会是这样的:
$("#jqgh_myJqgrid_title").attr("title", "Can't sort my title!");
标题名称选择器id
的形式如下:
jqgh_<<grid_div_name>>_<<column_name>>
如果您需要列的工具提示,可以使用cellattr
功能。
您甚至可以根据单元格或行值为列中的每个单元格创建不同的tooltip
,因为函数具有可选参数:rowId
,cellValue
,rawObject
等( documentation)
在你的情况下,你可以这样做:
{
name : 'title',
index : 'title',
width : '20%',
align : 'center',
sorttype : false,
sortable : false,
cellattr: function () { return ' title="Here is my tooltip on colCell!"'; }
}
答案 1 :(得分:0)
jqGrid版本3.8.2于2010年发布。它确实非常陈旧。稍后在jqGrid 4.0中引入了cellattr
等功能(请参阅here)。
我会严格建议您将其更新为jqGrid 4.7.0或jqGrid 4.6.0。
答案 2 :(得分:0)
假设您已经拥有数据(xml,json ...),您可以在列中隐藏值并使用 cellattr 来指示每列的值。 例如,如果您有三列:
//tooltip obtained from hidden column for the first column
{
name : 'title',
index : 'title',
width : '20%',
align : 'center',
sorttype : false,
sortable : false,
cellattr: function (rowId, cellValue, rowObject) {
return ' title="' + $(rowObject).find('cell:eq(3)').text() + '"';
}
},
//default tooltip obtained from hidden column
{
name : 'subtitle',
index : 'subtitle',
width : '20%',
align : 'center',
sorttype : false,
sortable : false,
cellattr: function (rowId, cellValue, rowObject) {
return ' title="' + $(rowObject).find('cell:eq(4)').text() + '"';
}
},
//here you can set as in the column subtitle or put the default tooltip that you want
{
name : 'subtitle2',
index : 'subtitle2',
width : '20%',
align : 'center',
sorttype : false,
sortable : false,
cellattr: function (rowId, cellValue, rowObject) {
return ' title=" My default tooltip "';
}
},
//hidden columns
{
name : 'hiddenColumn1',
index : 'hiddenColumn1',
hidden: true,
},
{
name : 'hiddenColumn2',
index : 'hiddenColumn2',
hidden: true,
},
答案 3 :(得分:0)
您需要使用jquery为工具提示创建“title”HTML属性。
jQuery的(文件)。就绪(函数($){
jQuery("tr.ui-jqgrid-labels th:eq(0)").attr("title", "Column 1 header title");
jQuery("tr.ui-jqgrid-labels th:eq(1)").attr("title", "Column 2 header title");
jQuery("tr.ui-jqgrid-labels th:eq(2)").attr("title", "Column 3 header title");
});
答案 4 :(得分:0)
我将此代码用于一组自定义工具提示:
{
name : 'title',
index : 'title',
width : '20%',
align : 'center',
sorttype : false,
sortable : false,
cellattr: function (rowId, cellValue, rowObject) {
return ' title="' + $(rowObject)[3] + '"';
}
},