在我的应用程序中,我使用JQGrid列出一些联系人。当用户将鼠标移到/移出一个云时,我需要显示一些细节;现在我使用以下代码:
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) {
.....
});
},
但这会使mouseover/mouseout覆盖整行。
我如何将鼠标移到/移出一行中的一列?
发布于 2011-11-16 18:24:40
下面的选择器从table#MyGird中的每个<tr>
抓取所有前几个<td>
元素
$("td:first", $("#MyGird tr")).mouseover(function(e) {
如果你不喜欢第一行,你可以使用:eq(index)
函数,比如第二列:
$("td:eq(1)", $("#MyGird tr")).mouseover(function(e) {
发布于 2011-11-16 18:24:07
您可以使用
var ci = $.jgrid.getCellIndex(e.target);
在任何事件句柄中获取当前列的索引。colModel
数组(jQuery('#MyGird').jqGrid('getGridParam', 'colModel')
)中的索引可以用来获取该列对应的name
属性的值。
在大多数情况下,e.target
只是单元格()的DOM元素,$.jgrid.getCellIndex将返回cellIndex属性的值。
如果您想要显示的细节只是一个文本,它是根据当前行的一些信息构建的,那么您可以使用cellattr代替mouseover
和mouseout
。有关详细信息,请参阅the answer。
https://stackoverflow.com/questions/8149457
复制相似问题