我有两个用javascrips AJAX填充的表,问题是我要对两个数据表都使用数据表,它们都在同一页上。


  桌子




<table id="Table01" class="table table-hover display">
    <thead>
        <tr id="tr_tablita">
            <th>#</th>
            <th>Código</th>
            <th>Producto</th>
            <th>Precio</th>
            <th>Cantidad</th>
            <th>Total</th>
            <th>Movimientos</th>
        </tr>
    </thead>
    <tbody id="tabla_get_articulos_venta">

    </tbody>
</table>

<table id="table02" class="table table-hover display">
    <thead>
        <tr>
            <th>#</th>
            <th>Código</th>
            <th>Producto</th>
            <th>Precio</th>
            <th>Proveedor</th>
            <th>Movimientos</th>
        </tr>
    </thead>
    <tbody id="tabla_get_articulos">

    </tbody>
</table>






  我填表




var id_venta = <?php echo $id_venta;?>; // traigo el id de la venta para poder editar la venta
var contador = 1;

$(document).ready(function(){
    get_articulos_venta(id_venta);
    get_articulos();

    // $('table.display').DataTable();
    var allTables = $('table.display').DataTable();
});

function get_articulos() {

    $.ajax({
        url : "<?php echo base_url('Ventas_controller/get_articulos')?>",
        type: "POST",
        dataType: "JSON",
        success: function(data) {

            var html = '';
            var contador_art = 1;

            var filas = data.length;
            for (  i = 0 ; i < filas; i++){ //cuenta la cantidad de registros
                html += "<tr><td>" +
                contador_art + "</td><td>" +
                data[i].codigo + "</td><td>" +
                data[i].descripcion + "</td><td>" +
                "$ "+data[i].precioCompra + "</td><td>" +
                data[i].proveedor + "</td><td>"+
                "<a type='button' onclick='add_articulo_venta("+data[i].ideArticulo+")' class='btn btn-success'>" +
                    "<i class='fa fa-plus' style='color:#fff;'></i>" +
                "</a>" +"</td><tr>" ;

                contador_art++;
            }
            $('#tabla_get_articulos').html(html);

        },
        error: function (jqXHR, textStatus, errorThrown) {
            swal({
              title: "Error!",
              text: "No trajeron los artículos del sistema!",
              icon: "error",
              button: true,
              dangerMode: false,
            })
            .then((willDelete) => {
              if (willDelete) {

              }
            });
        }
    });
}

function get_articulos_venta(id_venta) {

    $.ajax({
        url : "<?php echo base_url('Ventas_controller/get_articulos_venta')?>/"+id_venta,
        type: "POST",
        dataType: "JSON",
        success: function(data) {

            var html = '';
            var filas = data.length;

            for (  i = 0 ; i < filas; i++){ //cuenta la cantidad de registros
                html += "<tr><td>" +
                contador + "</td><td>" +
                data[i].codigo + "</td><td>" +
                data[i].descripcion + "</td><td>" +
                "$ "+data[i].precioCompra + "</td><td>" +
                data[i].cantidad + "</td><td>"+
                data[i].preciototal + "</td><td>"+
                "<a type='button' onclick='delete_articulo_venta("+data[i].ideDetalleVenta+")' class='btn btn-danger'>" +
                    "<i class='fa fa-times' style='color:#fff;'></i>" +
                "</a> " +
                "<a type='button' onclick='get_info_articulo_venta("+data[i].ideDetalleVenta+")'  class='btn btn-warning'>" +
                    "<i class='fa fa-pencil' style='color:#fff;'></i>" +
                "</a>" +"</td></tr>" ;

                contador++;
            }
            $('#tabla_get_articulos_venta').html(html);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            swal({
              title: "Error!",
              text: "No trajeron los artículos de la venta!",
              icon: "error",
              button: true,
              dangerMode: false,
            })
            .then((willDelete) => {
              if (willDelete) {

              }
            });
        }
    });
}





get_articulos_venta(参数);填写第一张桌子

get_articulos();填写第二张桌子

我需要将数据表应用于两个表

试试这个选项

https://datatables.net/examples/basic_init/multiple_tables.html

这就是结果

javascript - 将数据表放在同一页中的两个表中-LMLPHP

应用设计数据表,但它们看起来好像是空表一样。

最佳答案

在ajax调用的成功函数中,for循环之后将建立表,并初始化数据表。

function get_articulos_venta(id_venta) {

$.ajax({
    url : "<?php echo base_url('Ventas_controller/get_articulos_venta')?>/"+id_venta,
    type: "POST",
    dataType: "JSON",
    success: function(data) {

        var html = '';
        var filas = data.length;

        for (  i = 0 ; i < filas; i++){ //cuenta la cantidad de registros
            html += "<tr><td>" +
            contador + "</td><td>" +
            data[i].codigo + "</td><td>" +
            data[i].descripcion + "</td><td>" +
            "$ "+data[i].precioCompra + "</td><td>" +
            data[i].cantidad + "</td><td>"+
            data[i].preciototal + "</td><td>"+
            "<a type='button' onclick='delete_articulo_venta("+data[i].ideDetalleVenta+")' class='btn btn-danger'>" +
                "<i class='fa fa-times' style='color:#fff;'></i>" +
            "</a> " +
            "<a type='button' onclick='get_info_articulo_venta("+data[i].ideDetalleVenta+")'  class='btn btn-warning'>" +
                "<i class='fa fa-pencil' style='color:#fff;'></i>" +
            "</a>" +"</td></tr>" ;

            contador++;
        }
        $('#tabla_get_articulos_venta').html(html);
        $('#tabla_get_articulos_venta').DataTable({
        select: true,
        searching: true
    });


    },
    error: function (jqXHR, textStatus, errorThrown) {
        swal({
          title: "Error!",
          text: "No trajeron los artículos de la venta!",
          icon: "error",
          button: true,
          dangerMode: false,
        })
        .then((willDelete) => {
          if (willDelete) {

          }
        });
    }
});


}

关于javascript - 将数据表放在同一页中的两个表中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57206441/

10-13 08:50