我试图在我的 initComplete 函数中触发一个 if 语句,但它不起作用。这是为什么呢?这是我的代码:
var dataTable = $('.datatable-column-search-inputs').DataTable({
initComplete: function () {
var myDate = new Date();
var n = myDate.getHours();
if (n < 12) {
dataTable.fnFilter(this.value, 'DESAYUNOS');
alert("LOGRO DESAYUNOS");
}
else /* 12:00pm-5:59pm */
if (n >= 12 && n <= 17) {
dataTable.fnFilter(this.value, 'COMIDAS');
alert("LOGRO COMIDAS");
}
else /* 6:00PM-12:00AM*/
if (n > 17 && n <= 24) {
$('#sel2').change(function () {
dataTable.fnFilter(this.value, 'CENAS');
alert("LOGRO CENAS");
});
}
else /* the hour is not between 0 and 24, so something is wrong */ {
alert("I'm not sure what time it is!");
}
});
}
});
表格:
<table class='table datatable-column-search-inputs table-hover table-striped table-bordered'>
<thead>
<tr>
<td class='thead_search'>Platillo</td>
<td class='thead_select'>Pdv</td>
<td class='thead_select'>Rid</td>
<td>PV</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>Total</td>
<td class='text-center'>Venta</td>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="4" style="text-align:left">Total:</th>
<th></th>
</tr>
</tfoot>
</table>
我刚刚添加了表的 HTML sintax,该表由 ajax 调用填充,它正确填充,但我在 initComplete 上的 IF 语句:无论什么时候都不要发送警报,甚至没有其他为什么回调函数没有被触发?
fnFilter()
是较旧的jQuery DataTables 1.9的API方法,但变量dataTable
是DataTable()
的实例,它仅提供对较新API的访问(1.10+)。
要么将DataTable()
替换为dataTable()
,要么使用较新的 API 方法search()
而不是fnFilter()
。
此外,要fnFilter()
的第二个参数应该是整数(从零开始的列索引),请参阅较旧的 API 参考。