Я использую DataTables и добавляю прослушиватель для события search.dt
с намерением показать сообщение о загрузке во время выполнения поиска с последующим удалением этого сообщения (или отображением сообщения о завершении поиска, пока тестирование) один раз вызывается draw.dt
.
Я успешно записываю сообщения в консоль для каждого события соответственно, но по какой-то причине только на draw.dt
могу ли я успешно обновить DOM, чтобы отобразить сообщение. Я использовал тот же код в search.dt
, но я не вижу никаких изменений в HTML, которые я пытаюсь изменить, чтобы отобразить мое сообщение о загрузке. См. Ниже.
let table = $('#product-table').on( 'search.dt', function () {
$('#form-feedback').html('Searching...'); // this DOESN'T WORK
console.log('searching...'); // this works
} ).on( 'draw.dt', function () {
$('#form-feedback').html('Done.'); // this works
console.log('done searching.'); // this works
} ).DataTable({
"lengthMenu": [10,20,25,50,100],
"pageLength": 25,
"order": [[ 7, "desc" ]],
"stripeClasses":["even","odd"],
"responsive": true,
"dom": 'lrtip',
"columnDefs": [
{ "visible": false, "targets": [4,5,6,7] }
]
});
Консоль регистрирует мое сообщение searching...
всякий раз, когда запускается новый поиск, но не отображает фактическое сообщение на странице из-за HTML, которое я пытаюсь обновить. Однако по завершении поиска на странице ДЕЙСТВИТЕЛЬНО отображается мое сообщение «Готово».
Что мне следует проверить, чтобы устранить причину этого? У кого-нибудь была эта проблема? Спасибо.