2011-11-17 58 views
0

我想使用jQuery dataTables插件在表列中包含一个删除链接。我确信这很容易。我没有添加列的问题,并且我知道实际删除表的语法,我只是不知道被点击的行。如何判断jQuery dataTable的哪一行被点击?

这些行是通过UI动态添加的,所以我没有渲染除头部之外的任何行。

回答

1

另一个例子..

$("#TableID tbody").delegate("tr", "click", function() { 
    var iPos = oTable.fnGetPosition(this);//oTable is the table object itself 
    if(iPos!=null){ 
     //couple of example on what can be done with the clicked row... 
     var aData = oTable.fnGetData(iPos);//get data of the clicked row 
     var iId = aData[1];//get column data of the row 
     oTable.fnDeleteRow(iPos);//delete row 

    } 

});

1

我最近做了这个以隐藏/显示每行的额外信息。下面是我的代码片段:

 function fnTableRowClickHandler() 
     { 
      var nTr = this; 
      var oT = $(this.parentNode.parentNode).dataTable() 

      if ($(this).hasClass('highlighted')) 
      { 
       /* This row is already open - close it */ 
       oT.fnClose(this); 
       $(this).removeClass('highlighted') 
      } 
      else 
      { 
       /* Open this row, if it's classy enough */ 
       if (oT.fnGetData(nTr) == null) return; 

       $(this).addClass('highlighted') 
       oT.fnOpen(nTr, fnFormatDetails(oT, nTr), 'listingDetails opened'); 
      } 

     } 

我不得不补充说,对证空在else,因为它会如果被点击的附加信息短空延伸扩展行添加到每个项目。

后来的处理程序添加到下表:

$("#TableId tbody tr").live('click', fnTableRowClickHandler) 
0

动态分配各行上创建一个唯一的ID,并为每一行的单击事件删除元素与ID

相关问题