我正在尝试在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!");
}
});
}
});
HTML TABLE:
<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调用填充,它正确填充但是我的IF语句在initComplete上:永远不会发送警报,无论什么时候都没有,甚至是最后的其他 为什么回调函数不会被触发?
答案 0 :(得分:0)
fnFilter()
是较旧的jQuery DataTables 1.9的API方法,但变量dataTable
是DataTable()
的一个实例,只能访问较新的API(1.10 +)。
将DataTable()
替换为dataTable()
或使用较新的API方法search()
代替fnFilter()
。
fnFilter()
的第二个参数应该是一个整数(从零开始的列索引),请参阅older API reference。