[英]Search not working in datatables - Jquery
我的數據表充滿了服務器端的輸入,但不幸的是我的搜索框沒有過濾我的數據。 當我在第1頁上搜索時,它不會過濾。 當我移動到分頁的第2頁並開始在框中搜索時,它會自動將我移至第1頁。
在控制台中也沒有顯示錯誤,並給我一個提示。 有什么可能導致這個問題?
PS:我正在使用yajra包數據表。
JS腳本
$(document).ready(function() {
oTable = $('#users-table').DataTable({
"processing": true,
"serverSide": true,
"bProcessing":false,
"bSort":false,
"ajax": "{{ route('datatable.getcategories') }}",
"columns": [
{data: 'check', name: 'check'},
{data: 'name', name: 'name'},
// {data: 'description', name: 'description'},
{data: 'count', name: 'count'},
{data: 'action', name: 'action'}
],
language: { search: "" },
});
$('.dataTables_filter input[type="search"]')
.attr('placeholder',' Search...');
});
顯然,您通過將serverSide
設置為true
來選擇服務器端處理。 隨着每一個你輸入的東西在搜索字段中時,一個Ajax請求被發送到服務器與搜索字段的值,它是服務器與過濾數據集響應的任務。 但是,根據您的評論,我假設您的默認客戶端處理工作較早,而您的服務器尚未准備好進行處理。 要在客戶端處理過濾,您只需注釋掉"serverSide": true,
line,如下所示:
var oTable = $('#users-table').DataTable({
'processing': true,
// 'serverSide': true,// false is the default
'bProcessing':false,
'bSort':false,
'ajax': "{{ route('datatable.getcategories') }}",
'columns': [
{data: 'check', name: 'check'},
{data: 'name', name: 'name'},
// {data: 'description', name: 'description'},
{data: 'count', name: 'count'},
{data: 'action', name: 'action'}
],
language: { search: '' },
});
請注意,您應該使用var
聲明變量oTable
,以便不將其創建為全局變量( var oTable = …;
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.