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

时间:2016-02-11 19:26:25

标签: javascript datatables

我正在尝试在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上:永远不会发送警报,无论什么时候都没有,甚至是最后的其他 为什么回调函数不会被触发?

1 个答案:

答案 0 :(得分:0)

fnFilter()是较旧的jQuery DataTables 1.9的API方法,但变量dataTableDataTable()的一个实例,只能访问较新的API(1.10 +)。

DataTable()替换为dataTable()或使用较新的API方法search()代替fnFilter()

fnFilter()的第二个参数应该是一个整数(从零开始的列索引),请参阅older API reference