Datatables 响应数据表处理行单击
我使用的是一个响应数据表,我试图在其上处理对行的单击,因此如果单击该行,您将被重定向到新页面。这很好,但是如果表被折叠,我就不能显示子行,因为单击展开图标会激活行单击,我会被重定向 所以我想看看我是否可以检查图标是否被点击,但我不知道怎么做 我试着用Datatables 响应数据表处理行单击,datatables,responsive,Datatables,Responsive,我使用的是一个响应数据表,我试图在其上处理对行的单击,因此如果单击该行,您将被重定向到新页面。这很好,但是如果表被折叠,我就不能显示子行,因为单击展开图标会激活行单击,我会被重定向 所以我想看看我是否可以检查图标是否被点击,但我不知道怎么做 我试着用 $("#jobListTable").hasClass('collapsed') 为了查看表是否折叠,但我仍然无法检查单击的单元格 简单的小提琴可以在这里找到: 但实际上我的代码是 $('#jobListTable tbody').on('
$("#jobListTable").hasClass('collapsed')
为了查看表是否折叠,但我仍然无法检查单击的单元格
简单的小提琴可以在这里找到:
但实际上我的代码是
$('#jobListTable tbody').on('click', 'tr', function (e) {
var data = oTable.row( this ).data();
if ( $(this).hasClass('selected') ) {
$(this).removeClass('selected');
}
else {
oTable.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
var selectedTaskID = data.taskID;
var selectedJobNumber = data.jobNumber;
var selectedReqno = data.reqno;
var selectedPriority = data.priority;
var selectedCreatedBy = data.createdBy;
var selectedEmployeeInitials = data.employeeInitials;
var selectedShortDescription = data.shortDescription;
var selectedLongDescription = data.longDescription;
var selectedSourceReference = data.sourceReference;
var selectedAktivitetstype = data.aktivitetstype;
var selectedDueDatetime = data.dueDatetime;
var selectedRecurrence = data.recurrence;
var selectedStatus = data.status;
var selectedStatusColor = encodeURIComponent(data.statusColor);
var teamID = "";
if (sessionStorage.getItem("teamID")) {
teamID = "&teamID="+sessionStorage.getItem("teamID");
}
document.location.href="jobinfo.php?taskID="+selectedTaskID+"&jobNumber="+selectedJobNumber+"&reqno="+selectedReqno+"&priority="+selectedPriority+"&createdBy="+selectedCreatedBy+"&employeeInitials="+selectedEmployeeInitials+"&shortDescription="+selectedShortDescription+"&longDescription="+selectedLongDescription+"&sourceReference="+selectedSourceReference+"&aktivitetstype="+selectedAktivitetstype+"&dueDatetime="+selectedDueDatetime+"&recurrence="+selectedRecurrence+"&status="+selectedStatus+"&statusColor="+selectedStatusColor+teamID;
} );
如果您需要更多信息,请告诉我。如果任何人有类似问题: 我更改了代码,所以在每行添加了一个按钮
"columns": [
{
data: null, // can be null or undefined
defaultContent: '<button type="button" id="jobInfoBtn" class="btn btn-sm"><i class="fa fa-info-circle" aria-hidden="true"></i></button>',
},
在这种数据表的当前状态下,您想要做的是不可能的。您正在尝试将事件绑定到td中的伪元素,在td中,事件只能绑定到其父元素。好的,谢谢,您是否有任何解决方法或其他方法,以同时具有响应表和单击行的能力?您需要搜索一种方法来更改带跨度的+和-按钮,您可以对其进行操作。如果你不能用你尝试过的内容发布一个新问题,你可以自己搜索并尝试。祝你好运
$('#jobListTable tbody').on('click', 'tr', function (e) {
if ( $(this).hasClass('selected') ) {
$(this).removeClass('selected');
}
else {
oTable.$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
} );
$('#jobListTable tbody').on('click', 'button', function (e) {
var data = oTable.row( $(this).parents('tr') ).data();
var selectedTaskID = data.taskID;
var selectedJobNumber = data.jobNumber;
var selectedReqno = data.reqno;
var selectedPriority = data.priority;
var selectedCreatedBy = data.createdBy;
var selectedEmployeeInitials = data.employeeInitials;
var selectedShortDescription = data.shortDescription;
var selectedLongDescription = data.longDescription;
var selectedSourceReference = data.sourceReference;
var selectedAktivitetstype = data.aktivitetstype;
var selectedDueDatetime = data.dueDatetime;
var selectedRecurrence = data.recurrence;
var selectedStatus = data.status;
var selectedStatusColor = encodeURIComponent(data.statusColor);
var teamID = "";
if (sessionStorage.getItem("teamID")) {
teamID = "&teamID="+sessionStorage.getItem("teamID");
}
document.location.href="jobinfo.php?taskID="+selectedTaskID+"&jobNumber="+selectedJobNumber+"&reqno="+selectedReqno+"&priority="+selectedPriority+"&createdBy="+selectedCreatedBy+"&employeeInitials="+selectedEmployeeInitials+"&shortDescription="+selectedShortDescription+"&longDescription="+selectedLongDescription+"&sourceReference="+selectedSourceReference+"&aktivitetstype="+selectedAktivitetstype+"&dueDatetime="+selectedDueDatetime+"&recurrence="+selectedRecurrence+"&status="+selectedStatus+"&statusColor="+selectedStatusColor+teamID;
} );