Asked Oct 28th, 2021 3:23 a.m. 108 1 1
  • 108 1 1
0

Lỗi hiển thị dữ liệu trong Datables

Share
  • 108 1 1

Trong datatable mình đang call tới 1 hàm render ra dữ liệu với data-page-length='10' phần tử Nhưng khi mình dùng search từ ngày đến ngày để hiển thị dữ liệu nó lại trả về các phần tử paging không hoạt động! A/c nào đã gặp trường hợp ntn cho mình xin cách fix với !

1 ANSWERS


Answered Oct 28th, 2021 5:36 a.m.
0

Bạn có thể paste hàm render ra dữ liệu ra đây ko ạ ?

Share
Avatar Phan Thành @DiepThu
Oct 28th, 2021 9:45 a.m.
Avatar Phan Thành @DiepThu
Oct 28th, 2021 9:47 a.m.
$("#searchDateCampaignIndex").click(function(event) {
    var date = $('#datepickerCampaignIndex').val();
    var arrDate = date.split(" - ");
    var from_date = arrDate[0].split("/").join("-");
    var to_date = arrDate[1].split("/").join("-");
    $("#LoadingImage").show();
    getListCampaign(from_date, to_date);
});

function getListCampaign(from, to) {
    $.ajax({
        url: "{{route('getCampaignReport', $agencyWorkspace->id)}}",
        type: "POST",
        data: {
            from_date: from,
            to_date: to,
            _token: '{{ csrf_token() }}'
        },
        cache: false,
        dataType: 'json',
        success: function(data) {
            $("#LoadingImage").hide();
            var resultDataCampaigns = data.list_campaigns;
            var resultObjectCampaigns = data.object_campaigns;
            var bodyData = '';
            var output = '';
            var total_view = 0,
                total_click = 0,
                total_ctr = 0;
            $('input[name="daterange"]').daterangepicker({
                startDate: from,
                endDate: to,
                locale: {
                    format: 'DD/MM/YYYY',
                }
            });

            if (resultDataCampaigns.length > 0) {
                console.log(1)
                $.each(resultDataCampaigns, function(index, row) {
                    var view = 0,
                        click = 0,
                        ctr = 0;

                    if (resultObjectCampaigns[row.id] !== undefined) {
                        view = resultObjectCampaigns[row.id].view
                        click = resultObjectCampaigns[row.id].click
                        ctr = resultObjectCampaigns[row.id].ctr
                    }

                    total_view += view;
                    total_click += click;
                    total_ctr += ctr;
                    domain = window.location.host;
                    bodyData += `<tr>
                                    <td class="excludeThisClass">${index + 1}</td>
                                    <td><a href="/agency/${row.agency_id}/report/detailCampaign/${row.id}?from=${from}&to=${to}">${row.name}</a></td>
                                    <td>${formatNumber(view)}</td>
                                    <td>${formatNumber(click)}</td>
                                    <td>${formatNumber(ctr)}</td>
                                </tr>`
                })

                var total_arr = [];
                total_arr.push(total_view, total_click, total_ctr);

                var totalBoxTitle = ["View", "Click", "Ctr"]
                $.each(total_arr, function(index, value) {
                    output +=
                        `<div class='col-md-4 col-sm-6 col-xs-12'><div class='info-box'><div class='info-box-content'><h3 class='info-box-text'>
                        ${totalBoxTitle[index]}</h3><h5 class='info-box-number'>${formatNumber(value)}</h5></div></div></div>`;
                })
            } else {
                var total_arr = [0, 0, 0];
                var totalBoxTitle = ["View", "Click", "Ctr"]

                $.each(total_arr, function(index, value) {
                    output +=
                        `<div class='col-md-4 col-sm-6 col-xs-12'><div class='info-box'><div class='info-box-content'><h3 class='info-box-text'>
                        ${totalBoxTitle[index]}</h3><h5 class='info-box-number'>${formatNumber(value)}</h5></div></div></div>`;
                })

                bodyData += "<tr>"
                bodyData +=
                    "<td colspan='6' class='table_row_data'><p class='text-center my-0'>Không có dữ liệu</p></td>";
                bodyData += "</tr>"
            }

            $('#infoTotalCampaignIndex').html(output);
            $("#bodyDataCampaignIndex").html(bodyData);

            $('#tableDataCampaignIndex').DataTable({
                "paging": true,
                "retrieve": true,
                "order": [
                    [0, "asc"]
                ],
                "aoColumnDefs": [{
                        "bSortable": false,
                    },
                    {
                        "bSearchable": false,
                    }
                ]
            });
        }
    });
}

Đây b!

0
| Reply
Share
Avatar CongHD @conghdql4
Oct 29th, 2021 1:03 a.m.

@DiepThu Sorry, mình nói nhầm.

Mình muốn xem code phần backend. Phần search dữ liệu á.

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.