2

我是使用数据表的新手。

要求是:当我将鼠标悬停在表格(4 列表格)上时,要获得单元格行号和列号。当我将鼠标悬停在每行的第二列上时,我必须显示一个描述第二列值的弹出窗口(我一直隐藏在第四列中)

我四处搜索,我得到了关于获取列号的信息,但没有同时获取行号和列号。

我使用的代码如下:

jQuery(document).ready(function() {
    var oTable = $('#example').dataTable( {
        "bSortClasses": false
    } );

    $('td').hover( function( nRow, aData, iDisplayIndex ) {
        var iCol = $('td').index(this)%4 ;
        console.log(iCol);
        var iRow = $('tr').index(this) ;
        console.log(iRow);

        if(iCol=='1'){ // if 2nd col
        console.log(aData[3]);// this is the description i have to show- How to show this value 
        }
    }, function() {

    } );

}); 

在上面的代码中,我得到 col no 但我的 iRow 返回 -1 并且 aData[iCol] 显示错误为Uncaught TypeError: Cannot read property ’3′ of undefined. 这是因为 aData 本身是未定义的。那么我必须使用什么才能获得第 4 列中的值

我也尝试过以下方法:

  1. 如果我将悬停更改为tr而不是td--> $('tr').hover( function( nRow, aData, iDisplayIndex ) .... ,我会得到行号而不是 iCol 上的列返回-1。
  2. 如果我更改悬停以检查表 #example --> $('#example').hover( function( nRow, aData, iDisplayIndex ) .... ,我得到 iRow 和 iCol 的 -1

我尝试使用

var data = oTable .fnGetData(this);
console.log(data);

数据返回我

  1. $('td').hover 的列值 ...
  2. $('tr').hover 的行值....但是由于我没有 iCol 值,所以我无法获取数据 [iCol]。
4

1 回答 1

0

我得到了行和列

$('#example tbody td').hover( function( e) {
  var iPos = oTable.fnGetPosition( this );
  var iCol = iPos [1];
  var iRow = iPos[0];

});

谢谢

于 2013-08-16T06:35:21.737 回答