在我的应用程序中,我使用JQGrid列出了一些联系人。当用户只使用一个cloumn进行鼠标悬停/鼠标移动时,我需要显示一些细节;现在我正在使用这段代码:
gridComplete: function () {
jQuery('#MyGird').mouseover(function (e) {
var rowId = $(e.target).parents("tr:first").attr('id');
var rowdata = jQuery('#MyGird').getRowData(rowId);
.....
});
jQuery('#MyGird').mouseout(function (e) {
.....
});
},
但是这会使鼠标悬停/拖出整个行。
如何将鼠标悬停在该行的一列上?
答案 0 :(得分:3)
以下选择器会抓取表格中每个<td>
的所有第一个<tr>
元素#MyGird
$("td:first", $("#MyGird tr")).mouseover(function(e) {
如果你不是第一行,你可以使用:eq(index)
函数,就像第二列一样:
$("td:eq(1)", $("#MyGird tr")).mouseover(function(e) {
答案 1 :(得分:2)
您可以使用
var ci = $.jgrid.getCellIndex(e.target);
在任何事件句柄内部获取当前列的索引。 colModel
数组中的索引(jQuery('#MyGird').jqGrid('getGridParam', 'colModel')
)可用于获取列的相应name
属性的值。
在大多数情况下,e.target
只是单元格的DOM元素(<td>
),$.jgrid.getCellIndex将返回cellIndex属性的值。
如果您要显示的详细信息只是根据当前行的某些信息构建的文本,则可以使用cellattr代替mouseover
和mouseout
。有关详细信息,请参阅the answer。