У меня есть отзывчивая таблица данных, определенная следующим образом:
function loadCancellations(date) {
$('#cancellations').dataTable({
bDestroy: true,
bProcessing: false,
bServerSide: false,
bAutoWidth: false,
ajax: {
url: 'Modules/Bookings/',
data: {date: date, type: 'cancelled'}
},
sPaginationType: "full_numbers",
iDisplayLength: 50,
bLengthChange: false,
bPaginate: false,
bFilter: false,
bSort: true,
sDom: 't',
rowId: 6,
columns: [/*responsive column information*/],
order: [[0, 'asc'],[1, 'asc']],
asStripeClasses: ['', 'altrow'],
language: {
emptyTable: 'No cancelled bookings for this day'
},
fnCreatedRow: function( nRow, aData, iDataIndex ) {
// last column replaced with buttons
}
});
}
Эта функция вызывается при изменении значения средства выбора даты, поэтому она всегда обновляет таблицу с отмененными заказами в выбранный день.Существует шесть столбцов (плюс кнопки), два всегда скрыты, пока строка не будет расширена с использованием адаптивного интерфейса в первом столбце, и я несколько раз проверял его, и он отлично работает.
кроме
Если таблица пуста, адаптивный интерфейс никогда не будет работать снова.Вместо этого он выдает ошибку консоли, которая говорит TypeError: a[0].aoData[this[0]] is undefined
.Таким образом, если он загружается полностью, то я загружаю день, у которого его нет, а затем загружаю другой день, у которого есть некоторые, отзывчивый плагин ломается.Не имеет значения, уничтожу ли я потом и заново инициализирую данные, он просто отказывается работать.Я даже могу вернуться к дате, у которой были рабочие строки - они больше не работают.
У кого-нибудь есть идеи для решения этой проблемы?