簡體   English   中英

搜索不在datatables中工作 - Jquery

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM