Как получить 2 параметра для 2 разных столбцов в datatable? - PullRequest
0 голосов
/ 11 февраля 2020

Итак, мне нужно получить 2 параметра из моего dataTable, но из разных столбцов я отображаю кнопку в одном из этих столбцов и отправляю данные через функцию JS, но только этого параметра недостаточно, я действительно нужен еще один, позвольте мне показать вам:

function table(){
  // Define table id as a dataTable
    var table = $("#tabelaSintoma").DataTable(
      {
        "ajax": "webservices/ws_downtime/ws_tableSymptom.php",/* Ajax to pull all info about your table)*/
        "columns": 

        [
            { "data": "sintoma"},
            { "data": "CAUSA"},
            { "data": "AREA"},
            { "data": "COD" ,
              render: function(data) {// that's the function i render the button, but I need to get the column above this... "data: AREA"... and then I have to POST it onclick.
                data = '<button type="button" class="btn btn-danger" onclick="callDisableCause(' + data + ');"><i class="fa fa-trash"></i></button>';
                return data;}
                },

        ]

    }
    );

  }

Мне нужно POST два параметра из разных столбцов в тех же функциях, как я могу это сделать?

И есть моя функция для ПОЧТУ к моему php.

function callDisableCause(id){

    var url = "webservices/ws_downtime/ws_disableCause.php"
    $.ajax({
      method: "POST",
      url: url,
      data:{
        id: id
      },
      success: function(result){
        swal({
              title: "Cuidado!", // titulo do alerta
              text: "Deseja realmente desabilitar essa causa?", //texto apresentado ao cliente no alerta
              icon: "warning", // icone apresentado ('success', 'warning')
              buttons: true, // botoes(possivel personalizar, colocar o texto que melhor se encaixa na situação)
            })
            .then((willDelete) => { // função para pegar o resultado do alerta
              if (willDelete) { 
                // se for verdadeiro ele recarrega o formulario
                $('#mainpages').load('pages/downtime/downtime_admin/downtimeSymptom.php');

              }

               else { 
                 // se for falso volta para a pagina principal
                 $('#mainpages').load('pages/downtime/downtime_admin/downtimeSymptom.php');

              }

            });
      }

    });
}

1 Ответ

0 голосов
/ 11 февраля 2020

Функция рендеринга имеет три параметра. третий имеет данные всей строки. Попробуйте использовать этот код

{ "data": "COD" , render: function(data, type, row ) {
       data = '<button type="button" class="btn btn-danger" onclick="callDisableCause(' + data + ', ' + row.COD + ');"><i class="fa fa-trash"></i></button>';
       return data;
    }
},

С уважением!

...