DataTables:未捕获的TypeError:无法读取未定义的属性“唯一”

问题描述 投票:0回答:1

我的jquery数据表代码有问题。这个新错误突然冒出来。

我怀疑这可能是由于我正在加载的所有库文件,由于未及时加载数据表文件,因此数据表初始化失败,因为在添加了额外的库后,该错误似乎突然出现了,大多数类似问题的论坛似乎都建议这样做。

但是我的错误尚未解决。数据表库的加载顺序应该是正确的,因为它们之前运行得很好。

这是我加载脚本文件的方式:

<script src="../assets/js/vendor.min.js"></script>
<script src="../assets/js/app.min.js"></script>

<!-- Libs-->
<script src="../assets/libs/flatpickr/flatpickr.min.js"></script>
<script src="../assets/libs/autocomplete/jquery.autocomplete.min.js"></script>
<script src="../assets/js/vendor/jquery-ui.min.js"></script>
<script src="../assets/libs/jquery-toast/jquery.toast.min.js"></script>
<script src="../assets/libs/dropzone/dropzone.min.js"></script>
<script src="../assets/libs/dropify/dropify.min.js"></script>

<!-- third party js -->
<script src="../assets/js/vendor/jquery.dataTables.min.js"></script>
<script src="../assets/js/vendor/dataTables.bootstrap4.js"></script>
<script src="../assets/js/vendor/dataTables.responsive.min.js"></script>
<script src="../assets/js/vendor/responsive.bootstrap4.min.js"></script>
<script src="../assets/js/vendor/dataTables.buttons.min.js"></script>
<script src="../assets/js/vendor/buttons.bootstrap4.min.js"></script>
<script src="../assets/js/vendor/buttons.html5.min.js"></script>
<script src="../assets/js/vendor/buttons.flash.min.js"></script>
<script src="../assets/js/vendor/buttons.print.min.js"></script>
<script src="../assets/js/vendor/dataTables.keyTable.min.js"></script>
<script src="../assets/js/vendor/dataTables.select.min.js"></script>

这是我的数据表初始化:

var table = $("#ltable").DataTable({
    select: {
        style: "single"
    },
    columnDefs: [
    {
        "targets": [ 0 ],
        "visible": false,
        "searchable": false
    },
    {
        "targets": [ 1 ],
        "visible": false
    }],
    rowCallback: function( row, data ) {
        switch(data[1]) {
        case "":
        $(row).css('background-color','#f1f3fa');
        break;
        case "Open":
        $(row).css('background-color','#fbffc5');
        break;
        case "Closed":
        $(row).css('background-color','#ceffc5');
        break;
        case "Denied":
        $(row).css('background-color','#ffdac5');
        break;
    }},
    language: {
        search: "",
        searchPlaceholder: "Search",
        scrollX: true,
        sLengthMenu: "_MENU_items",
        paginate: {
            previous: "<i class='mdi mdi-chevron-left'>",
            next: "<i class='mdi mdi-chevron-right'>"
        }
    },
    "lengthMenu": [[10, 25, 50,100, -1], [10, 25, 50,100, "All"]],
    deferRender: true,
    drawCallback: function() {
        $(".dataTables_paginate > .pagination").addClass("pagination-rounded")
    }
});
javascript jquery datatables
1个回答
0
投票

现在已解决。有人更改了其中一个API的代码,该代码填充了数据表,这导致未处理的错误响应,从而导致数据表初始化中的错误。

然而,由于Stackoverflow和Datatable的官方论坛上都没有早期的支持或答复,仅供以后参考,这是由于两个原因之一引起的初始化错误-:

  1. 您的库未正确加载。检查具体的及其顺序。使用数据表库配置下载builder

  2. 用于数据表的标记由于某些原因是不正确的,因此总是很好地检查在动态数据的情况下实际呈现的内容。

© www.soinside.com 2019 - 2024. All rights reserved.