JQGrid:如何鼠标悬停/退出网格中的一列?

时间:2011-11-16 09:37:15

标签: jquery jqgrid mouseover mouseout

在我的应用程序中,我使用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) {
      .....
       });
},

但是这会使鼠标悬停/拖出整个行。

如何将鼠标悬停在该行的一列上?

2 个答案:

答案 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代替mouseovermouseout。有关详细信息,请参阅the answer