我想使用jQuery dataTables插件在表列中包含删除链接。我确信这很容易。我添加列没有问题,我知道实际删除表的语法,我只是不知道点击的行。
行是通过UI动态添加的,所以我不会在开头呈现除标题之外的任何行。
答案 0 :(得分: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中添加对null的检查,因为如果单击其他信息,它会为展开行中的每个项添加一个简短的空扩展。
稍后将处理程序添加到表中:
$("#TableId tbody tr").live( 'click', fnTableRowClickHandler )
答案 1 :(得分: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
}
});
答案 2 :(得分:0)
在创建时动态地为每一行指定唯一ID,并使每行的click事件删除具有该ID的元素