Адаптивные таблицы данных обрабатывают щелчок строк - PullRequest
0 голосов
/ 19 февраля 2019

Я использую отзывчивые таблицы данных, по которым я пытаюсь обработать щелчок по строке, поэтому вы будете перенаправлены на новую страницу, если щелкнете по строке.Это работает нормально, но если таблица свернута, я не могу показать дочернюю строку, так как нажатие на значок раскрытия активирует щелчок строки, и меня перенаправляют.

Поэтому я пытаюсь проверить, могу ли я проверить,значок щелкают или нет, но я не могу понять, как это сделать

Я пытался использовать

   $("#jobListTable").hasClass('collapsed')

, чтобы увидеть, свернута ли таблица или нет, ноЯ до сих пор скучаю по тому, как проверить, на какую ячейку я нажал

Простую скрипку можно найти здесь: http://jsfiddle.net/Anja_Reeft/agouq6ts/5/

Но на самом деле мой код

$('#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;
} );

Пожалуйста, дайте мне знатьесли вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 20 февраля 2019

В тех случаях, когда у кого-либо возникает проблема с симуляцией:

Я изменил свой код, поэтому добавил кнопку в каждую строку

"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>',
                },

, а затем изменил свою функцию при нажатии

$('#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;
} );
...