我在应用程序中使用datatables。每当用户单击任何行时,我都希望突出显示它并从所选行中选择一些值。
"oTableTools": {
"sRowSelect": "single",
"fnRowSelected": function ( node ) {
var s=$(node).children();
alert("Selected Row : " + $s[0]);
}
我尝试了
sRowSelect
和fnRowSelected
,但是没有运气。该行未突出显示,也不调用fnRowSelected
。即使在控制台上也没有错误。这是我完整的代码
var userTable = $('#users').dataTable({
"bPaginate": true,
"bScrollCollapse": true,
"iDisplayLength": 10,
"bFilter": false,
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"oLanguage": {
"sLengthMenu": "Display _MENU_ records per page",
"sZeroRecords": "Enter a string and click on search",
"sInfo": "Showing _START_ to _END_ of _TOTAL_ results",
"sInfoEmpty": "Showing 0 to 0 of 0 results",
"sInfoFiltered": "(filtered from _MAX_ total results)"
},
"aaSorting": [[ 0, "asc" ]],
"aoColumns": [/* Name */ null,
/*Institution*/null,
/*Email*/null],
"oTableTools": {
"sRowSelect": "single",
"fnRowSelected": function ( node ) {
alert("Clicked");
}
}
});
我有什么想念的吗?
编辑:
现在能够突出显示选定的行。已将class =“display”添加到HTML表中。仍然想知道为什么我没有在数据表文档中找到这个。现在寻找如何收集选定的值。
最佳答案
这是我的方法
只需将此功能添加到您的页面即可(如果用户是您的表ID)
$("#users tbody").delegate("tr", "click", function() {
var iPos = userTable.fnGetPosition( this );
if(iPos!=null){
//couple of example on what can be done with the clicked row...
var aData = userTable.fnGetData( iPos );//get data of the clicked row
var iId = aData[1];//get column data of the row
userTable.fnDeleteRow(iPos);//delete row
}