2017-04-14 132 views
0

爲什麼我的搜索文本框不能初始化爲空?我曾嘗試:jQuery Datatables搜索文本框

table.state.clear(); 

,我曾嘗試:

"bStateSave": false, // save datatable state(pagination, sort, etc) in cookie. 

我使用的過濾器後,重定向到另一個查看,創建一個新的搜索,然後再回到我的搜索結果中的文本框總是有我用於過濾器的最後一個字符串。

我使用MVC5作爲我的框架。

enter image description here

enter image description here

var initTable4 = function() { 

    var table = $('#sample_4'); 
    table.dataTable({ 

     "language": { 
      "aria": { 
       "sortAscending": ": activate to sort column ascending", 
       "sortDescending": ": activate to sort column descending" 
      }, 
      "emptyTable": "No data available in table", 
      "info": "Showing _START_ to _END_ of _TOTAL_ records", 
      "infoEmpty": "No records found", 
      "infoFiltered": "(filtered1 from _MAX_ total records)", 
      "lengthMenu": "Show _MENU_", 
      "search": "Search:", 
      "zeroRecords": "No matching records found", 
      "paginate": { 
       "previous":"Prev", 
       "next": "Next", 
       "last": "Last", 
       "first": "First" 
      } 
     },    

     "bStateSave": false, // save datatable state(pagination, sort, etc) in cookie. 

     "lengthMenu": [ 
      [6, 15, 20, -1], 
      [6, 15, 20, "All"] // change per page values here 
     ], 
     // set the initial value 
     "pageLength": 6, 
     "columnDefs": [{ // set default column settings 
      'orderable': false, 
      'targets': [0] 
     }, { 
      "searchable": false, 
      "targets": [0] 
     }], 
     "order": [ 
      [1, "asc"] 
     ] // set first column as a default sort by asc 
    }); 

    var tableWrapper = jQuery('#sample_4_wrapper'); 

    table.find('.group-checkable').change(function() { 
     var set = jQuery(this).attr("data-set"); 
     var checked = jQuery(this).is(":checked"); 
     jQuery(set).each(function() { 
      if (checked) { 
       $(this).prop("checked", true); 
      } else { 
       $(this).prop("checked", false); 
      } 
     }); 
    }); 
} 

回答

0

我相信table.search('').draw()將清除出專門的搜索框的值,但仍保留您的任何現有欄搜索。

我在搜索字段中實現了一個[x]清除框,如下所示。

$(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('click', '.onX', function() { 
    $(this).removeClass('x onX').val(''); 
    table.search('').draw(); 
}); 
+0

是的,我已經注意到table.search('')。draw()在其他SOF問題上提及並嘗試過。也許我沒有在代碼中的正確位置使用空字符串。 – JoshYates1980

+0

作爲一個測試,你只是嘗試用jQuery手動清除文本框來查看它是否觸發了搜索清除功能?我認爲它確實如此 – Eric