Jquery 选择datatables行
我正在使用jquery创建数据表,使用:Jquery 选择datatables行,jquery,datatables,Jquery,Datatables,我正在使用jquery创建数据表,使用: $('#collectionsList').dataTable( { "bJQueryUI": true, "bPaginate" : false, "bFilter": false, "oTableTools": { "sRowSelect": "multi" }, "sAjaxSource": serverServicesHandler.get("getCollections"),
$('#collectionsList').dataTable( {
"bJQueryUI": true,
"bPaginate" : false,
"bFilter": false,
"oTableTools": {
"sRowSelect": "multi"
},
"sAjaxSource": serverServicesHandler.get("getCollections"),
"fnInitComplete" : function(oSettings, json){
}
})
我希望在单击某行时将其选中
我补充说:
"oTableTools": {
"sRowSelect": "multi"
}
但它不起作用。为什么?您可以按以下方式执行此操作:
oTable = $('#collectionsList').dataTable( ....);
$('#collectionsList tbody tr').live('click', function (event) {
var aData = oTable.fnGetData(this); // get datarow
if (null != aData) // null if we clicked on title row
{
//now aData[0] - 1st column(count_id), aData[1] -2nd, etc.
}});
要使TableTools正常工作,必须设置.dataTables.sDom并在字符串中包含T。大概是这样的:
$('#example').dataTable({
sDom: 'T<"clear">lfrtip',
oTableTools: {
"sRowSelect": "multi"
}
});
要显示选定的行,我在行上使用此单击功能:
$('body').on("click",'#collectionsList tbody tr',function() {
if ($(this).hasClass('row_selected'))
$(this).removeClass('row_selected'); // select or deselect row
else {
/* I don't put this line below
//---> $(this).siblings('.row_selected').removeClass('row_selected');
*/
$(this).addClass('row_selected'); // add selected row
}
var aData = oTable.fnGetData(this); // get tha data array from columns
var col0 = aData[0]; // get the first column value
var col1 = aData[1]; // get the second column value
var rowsID=this.id; // rowsID is your id of <tr>
});
.live从jQuery v1.7起不再推荐,从jQuery v1.9起删除。您的标记是否包含和元素?dataTable是否正常工作?是的,我有&,它是由ajax创建的,请尝试TableTools的夜间版本。我相信稳定版本还没有升级到处理从jQuery中删除live的问题。