我有一个响应数据表,定义如下:
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
。因此,如果加载满了,那么我加载没有任何一天的一天,然后加载有一天的另一天,响应式插件就会中断。然后我是否销毁并重新初始化数据表并不重要,它只是拒绝工作。我什至可以回到有工作行的日期-它们不再工作。
有人对此有解决方案的想法吗?
答案 0 :(得分:0)
我使用的插件已过期。这是在更高版本中解决的。我应该在发布之前检查一下,对此我感到羞耻。