Установка всплывающей подсказки для ячейки - это не более, чем установка атрибута title
для соответствующей ячейки.
Самый простой и самый эффективный способ установить всплывающую подсказку (например, установить любой другой атрибут ячейки) - это использование cellattr
для colModel
.
Что вы можете сделать, это просто включить текст подсказки в XML, который создает сервер. Например, вы можете поместить дополнительные данные для еще одного столбца jqGrid, но не включает объявление столбца в сетке. Таким образом, данные XML могут выглядеть следующим образом:
<?xml version='1.0' encoding='utf-8'?>
<rows>
<page>1</page>
<total>1</total>
<records>3</records>
<row id='x1'>
<cell><![CDATA[x1]]></cell>
<cell><![CDATA[Test name 1]]></cell>
<cell><![CDATA[Test tooltip 1]]></cell>
</row>
<row id='x2'>
<cell><![CDATA[x2]]></cell>
<cell><![CDATA[Test name 2]]></cell>
<cell><![CDATA[Test tooltip 2]]></cell>
</row>
<row id='x3'>
<cell><![CDATA[x3]]></cell>
<cell><![CDATA[Test name 3]]></cell>
<cell><![CDATA[Test tooltip 3]]></cell>
</row>
</rows>
Соответствующий код jqGrid, который считывает информацию всплывающей подсказки и помещает ее в качестве значения атрибута title
, будет следующим:
$("#list").jqGrid({
url: 'grid.php',
colNames: ['Id', 'Nombre'],
colModel: [
{name: 'id', index: 'id', width: 55, title: false},
{name: 'nombre', index: 'nombre', width: 150, sortable: false, title: false,
cellattr: function (rowId, cellValue, rowObject) {
return ' title="' + $(rowObject).find('cell:eq(2)').text() + '"';
}}
],
pager: '#pager',
rowNum: 30,
sortname: 'nombre',
sortorder: 'asc',
viewrecords: true,
gridview: true,
height: 'auto',
caption: 'Examenes'
});
Как показывает соответствующее демо у вас будут результаты, которые вам нужны: