Кнопка реагирования на данные не работает, когда кнопка находится в дочернем ряду - PullRequest
1 голос
/ 18 мая 2019

Я использую jquery datatable с включенной опцией отзывчивости, и у меня есть кнопка в конце таблицы для каждой строки. Кнопка отлично работает, когда таблица отображается так:

https://imagizer.imageshack.com/img923/9383/JFa5hd.png

Однако кнопка не работает, когда отображается так:

https://imagizer.imageshack.com/img921/690/88i9fU.png

Вот код:

$(document).ready(function() {
     var table = $('#libros').DataTable({
        "language": {
        "sProcessing":     "Procesando...",
        "sLengthMenu":     "Mostrar _MENU_  Libros",
        "sZeroRecords":    "No se encontraron resultados",
        "sEmptyTable":     "Ningún dato disponible en esta tabla",
        "sInfo":           "Del _START_ al _END_ de un total de _TOTAL_ Libros",
        "sInfoEmpty":      "Del 0 al 0 de un total de 0 Libros",
        "sInfoFiltered":   "(filtrado de un total de _MAX_ libros)",
        "sInfoPostFix":    "",
        "sSearch":         "Buscar:",
        "sUrl":            "",
        "sInfoThousands":  ",",
        "sLoadingRecords": "Cargando...",
        "oPaginate": {
          "sFirst":    "Primero",
          "sLast":     "Último",
          "sNext":     "Siguiente",
          "sPrevious": "Anterior"
        },
        "oAria": {
          "sSortAscending":  ": Activar para ordenar la columna de manera ascendente",
          "sSortDescending": ": Activar para ordenar la columna de manera descendente"
        }
      },

      "pageLength" : 10,
      responsive: true,

      "ajax": {
        url : "<?php echo base_url("admin/tabla_libro_ajax") ?>",
        type : 'GET'
      },

      "columnDefs": [ {
        "targets": -1,
        "data": null,
        "defaultContent": "<button>Editar</button>"
      } ]

    } );
    $('#libros tbody').on( 'click', 'button', function () {
      var data = table.row( $(this).parents('tr') ).data();
      window.location =  "<?php echo base_url(); ?>" + "admin/libro/" + data[0];
    } );
} );

Любая помощь приветствуется. Спасибо!

1 Ответ

0 голосов
/ 18 мая 2019

Я решил это:

$('#libros tbody').on( 'click', 'button', function () {
      var closestRow = $(this).closest('tr');
      var data = table.row( $(this).parents(closestRow)).data();
      window.location =  "<?php echo base_url(); ?>" + "admin/libro/" + data[0];
    } );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...