【发布时间】:2013-02-16 20:21:00
【问题描述】:
我使用datatables 和bootstrap-daterangepicker 来选择数据将在数据表中显示的范围。
一切正常。
问题是当我在 daterangepicker 中选择一个新范围时,它为我提供了一个回调函数,我可以在其中做我的事情。 在那个回调函数中,我再次调用 Datatables。但是既然表已经被创建了,我怎么能破坏之前的表并在它的位置显示一个新的呢?
请帮助。我被困住了。 :(
编辑: 我有以下代码:
$(element).daterangepicker({options},
function (startDate, endDate) { //This is the callback function that will get called each time
$('#feedback-datatable').dataTable({
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ records per page",
"oPaginate": {
"sPrevious": "Prev",
"sNext": "Next"
}
},
"aoColumnDefs": [{
'bSortable': false,
'aTargets': [2,4]
}],
"bAutoWidth": false,
"aoColumns": [
{"sWidth": "20%"},
{"sWidth": "15%"},
{"sWidth": "45%"},
{"sWidth": "15%"},
{"sWidth": "5%"}
]
});
}
【问题讨论】:
-
向我们展示您的代码,但您可以使用
if(oTable != null)oTable.fnDestroy(); -
将我的代码添加到问题中。你能解释一下如何销毁吗?
-
为什么需要重新创建数据表?您可以刷新现有的:
oTable.fnDraw(false); -
BTW oTable 是您的数据实例:
oTable = $('#feedback-datatable').dataTable( {...} ); -
那么什么是 otable?我需要做类似 var oTable = $('#feedback-datatable').dataTable({...}) 的事情吗?我在哪里写 oTable.fnDraw?您能指导回答吗?
标签: javascript jquery datatables