2016-08-18 95 views
0

我在我的網站上使用了dataTables插件,我的搜索欄中有一些小問題,它包含在上述插件中; 我使用的代碼清除搜索欄清空輸入字段:更新數據表搜索

function tog(v){return v?'addClass':'removeClass';} 
$(document).on('input', '.clearable', function(){ 
    $(this)[tog(this.value)]('x'); 
}).on('mousemove', '.x', function(e){ 
    $(this)[tog(this.offsetWidth-18 < e.clientX-this.getBoundingClientRect().left)]('onX'); 
}).on('touchstart click', '.onX', function(ev){ 
    ev.preventDefault(); 
    $(this).removeClass('x onX').val('').change().submit(); 
}); 

這是從this stackoverflow question

現在採取的問題:每當我點擊我asigned爲的清算交輸入,所述輸入被清除,但是,dataTable表一直只顯示對應於搜索輸入的表格行。點擊十字架時如何清除dataTable搜索。我注意到它只需按下一個按鍵,如退格鍵,向下箭頭......來更新搜索。

+0

清除輸入字段後,只需調用'oTable.fnDraw()'.. – mmushtaq

+0

'oTable'是您的DataTable的對象.. – mmushtaq

回答

0

你有兩個選擇

  1. 告訴dataTable,搜索領域通過觸發keyup活動已變更

    // on 'touchstart click' event 
    $(this).keyup(); 
    
  2. reDraw表手動

    var table = $('#example').DataTable(); 
    table.search('').draw(); 
    
+0

非常感謝!第一個解決方案爲我工作:) – entlu