Как добавить кнопку «Редактировать и удалить» в динамически создаваемый столбец в каждой строке - PullRequest
0 голосов
/ 15 января 2019

У меня есть объект JSON, из которого я создаю динамические столбцы. На 5-й позиции у меня есть ID, который я хочу передать на сервер. Как мне добиться этого при нажатии определенной кнопки

var jsonData = data[key[0]];
var column = data[key[1]];

$('#example').DataTable({
  data: jsonData,
  columnDefs: [{
    targets: 5,
    render: function(data, type, full, meta) {
      if (type === 'display') {
        data =
          '<button class="btn-edit" type="button">Edit</button>' +
          '<button class="btn-delete" type="button">Delet</button>';
      }

      return data;
    }
  }],
  columns: column
});

1 Ответ

0 голосов
/ 17 января 2019

Используйте код ниже.

ПРИМЕЧАНИЕ. Я предполагаю, что в качестве данных вы используете массив массивов, а ID является первым элементом (data[0]). В противном случае измените код соответствующим образом.

// Handle click on "Edit" button
$('#example').on('click', 'tbody .btn-edit', function(){
   var $row = $(this).closest('tr');
   var data = table.row($row).data();

   // console.log(data);

   alert('Edit ' + data[0]);
});

// Handle click on "Delete" button
$('#example').on('click', 'tbody .btn-delete', function(){
   var $row = $(this).closest('tr');
   var data = table.row($row).data();

   // console.log(data);

   alert('Delete ' + data[0]);
});
...