数据表初始化完成回调未触发



我试图在我的 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方法,但变量dataTableDataTable()的实例,它仅提供对较新API的访问(1.10+)。

要么将DataTable()替换为dataTable(),要么使用较新的 API 方法search()而不是fnFilter()

此外,要fnFilter()的第二个参数应该是整数(从零开始的列索引),请参阅较旧的 API 参考。

最新更新