当按钮在子行中时,响应式数据表按钮不起作用

时间:2019-05-18 05:22:26

标签: jquery datatable

我正在使用启用了响应选项的jquery数据表,并且在每行的表末尾都有一个按钮。这样显示表格时,该按钮可以正常工作:

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 :(得分:0)

我解决了它:

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