2016-02-11 57 views
0

我想在我的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 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語句在initComplet e:從不發送警報,不管是什麼時候都不是最後的其他人 爲什麼不觸發回調函數?

+0

你可以添加包含表格的html部分嗎? – gen

+0

你剛剛添加了表格代碼,所有if,它們中的更多者發送警報,這意味着更接近他們@NisseEngström –

+0

只是一個猜測,但是你可以添加一個id到你的表並初始化id上的數據表? – gen

回答

0

fnFilter()是較舊的jQuery數據表1.9的API的方法,但可變dataTableDataTable()一個實例,其提供了訪問較新的API僅(1.10+)。

要麼將​​DataTable()替換爲dataTable(),要麼使用更新的API方法search()而不是fnFilter()

第二個參數fnFilter()應該是一個整數(從零開始的列索引),請參閱older API reference

+0

但問題仍然存在,如果if語句被忽略,if語句觸發器中的警報 –