Я не могу успешно использовать библиотеку Datatables.

Мой включает:

<link rel="stylesheet" type="text/css" href="<?php if ($prefix) echo '../'; ?>lib/bootstrap-4.3.1.css">
<link rel="stylesheet" type="text/css" href="<?php if ($prefix) echo '../'; ?>lib/DataTables/datatables.min.css"/>
<script type="text/javascript" src="<?php if ($prefix) echo '../'; ?>lib/jquery-3.5.0.js"></script>
<script type="text/javascript" src="<?php if ($prefix) echo '../'; ?>lib/DataTables/datatables.min.js"></script>

<link rel="stylesheet" type="text/css" href="<?php if ($prefix) echo '../'; ?>CSS/default.css">
<script type="text/javascript" src="<?php if ($prefix) echo '../'; ?>JS/script1.js"></script>
<script type="text/javascript" src="<?php if ($prefix) echo '../'; ?>JS/script2.js"></script>

Я скачал таблицы данных здесь (скачать таблетку). И jquery здесь.

Скрипт script2.js:

$(document).ready(function() {
    $("table").DataTable();
});

Таблица:

<table class="display">
    <caption class="text-center">Employés</caption>
    <thead>
        <tr>
            <th>Nom</th>
            <th>Prénom</th>
            <th>Fonction</th>
            <th>Téléphone</th>
            <th>Courriel</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach ($employees as $employee) { ?>
        <tr>
            <td><?= utf8_encode($employee['nom']) ?></td>
            <td><?= utf8_encode($employee['prenom']) ?></td>
            <td><?= utf8_encode($employee['fonction']) ?></td>
            <td><?= utf8_encode($employee['telephone']) ?></td>
            <td><?= utf8_encode($employee['courriel']) ?></td>
        </tr>
        <?php } ?>
    </tbody>
    <tfoot>
        <tr>
            <th>Nom</th>
            <th>Prénom</th>
            <th>Fonction</th>
            <th>Téléphone</th>
            <th>Courriel</th>
        </tr>
    </tfoot>
</table>

Есть некоторые предупреждения/ошибки:

jquery-3.5.0.js:4046 jQuery.Deferred exception: jQuery.phpPrefilter is not a function TypeError: jQuery.phpPrefilter is not a function
jquery-3.5.0.js:5032 Uncaught TypeError: jQuery.phpPrefilter is not a function

Но это не работает. Я пытался следовать порядку включения. Есть ли у вас какие-либо идеи ?

-1
Sevla 11 Апр 2020 в 22:02
Если я добавлю предупреждение («какое-то сообщение») между второй и третьей строкой datatables.j. Предупреждение никогда не отображается. Поэтому я предполагаю, что есть проблема при вызове функции Datatable в строке 2.
 – 
Sevla
11 Апр 2020 в 22:07
@Sevia, вы загружаете две библиотеки DataTables. Попробуйте удалить последний или тот, который имеет последнюю версию.
 – 
ubuntux
11 Апр 2020 в 22:20
Вы уверены, или вы можете быть более конкретным, пожалуйста? datatables.js — это всего лишь скрипт из 3 строк, в котором я вызываю Datatables(). Я думаю, что загрузил таблицы данных css и js и jquery js.
 – 
Sevla
11 Апр 2020 в 22:22
Спасибо за ваше участие. Вы можете заставить это работать, следуя вашему предложению?
 – 
Sevla
11 Апр 2020 в 22:44
Какие предупреждения/ошибки вы получаете в консоли браузера при загрузке страницы? Добавьте эту информацию к своему вопросу. (Попробуйте F12, чтобы открыть консоль, или Google для вашего конкретного браузера.)
 – 
andrewJames
11 Апр 2020 в 22:56

1 ответ

Альтернативой, которая решила мою проблему, было использование jquery-3.5.0.slim.js вместо jquery-3.5.0.js.

0
Sevla 12 Апр 2020 в 01:21