2016-06-21 6 views
0

ich mit ssp.class Datentabelle implementiert habenDatentabellen einzelnen Spalten Suche funktioniert nicht

, wenn ich Code auf dieser Seite verwenden https://datatables.net/examples/api/multi_filter.html es sieht, dass Datentabellen sucht, aber ohne Ergebnis. In der Konsole sehe ich keinen Fehler und Antwort mit bekommen sieht es einige Daten (aber es gibt wie 20-30 Anfrage pro Zeichen im Suchfeld, viele mit 0 Ergebnissen, nur wenige mit Datensätzen)

das ist mein Code

var table2 = $('#dataTables-subjekt-childrow').DataTable({ 
     'dom': 'C<"clear">lfrtip', 
     'dom': 'T<"clear">lfrtip', 
     'tableTools': { 
       "aButtons": [ 
        "copy", 
        "print", 
        { 
         "sExtends": "collection", 
         "sButtonText": "Save", 
         "aButtons": [ "csv", "xls", "pdf" ] 
        } 
       ] 
      }, 
     'destroy':true, 
     'stateSave': true, 
     'columns.orderSequence': [[0, 'asc']], 
     'processing': true, 
     'serverSide': true, 
     'ajax': '../list_subjekt2.php', 
     'jQueryUI': true, 
     'autoWidth': false, 
     'searching':true, 
     'lengthChange': true, 
     'paging': true, 
     'ordering': true, 
     'pageLength': 100, 
     'info': true, 
     'pagingType': 'full_numbers', 
     'language': {"url": "../json/datatables_slovak.json"}, 
     'columns': [ 
      { "data": "nazov", "searchable": true }, 
      { "data": "okres", "searchable": true }, 
      { "data": "kraj", "searchable": true }, 
      { "data": "typ", "searchable": true }, 
      { "data": "spravuje", "searchable": true }, 
      { 
       "className":  'details-control', 
       "orderable":  false, 
       "data":   null, 
       "searchable": false, 
       "defaultContent": '' 
      }, 
      { 
       "className":  'details-contact', 
       "orderable":  false, 
       "data":   null, 
       "searchable": false, 
       "defaultContent": '' 
      }, 
      { 
       "className":  'details-comm', 
       "orderable":  false, 
       "data":   null, 
       "searchable": false, 
       "defaultContent": '' 
      }, 
      { 
       "className":  'details-files', 
       "orderable":  false, 
       "data":   null, 
       "searchable": false, 
       "defaultContent": '' 
      }, 
      { 
       "className":  'details-edit', 
       "orderable":  false, 
       "data":   null, 
       "searchable": false, 
       "defaultContent": '' 
      }, 
      { 
       "className":  'details-delete', 
       "orderable":  false, 
       "searchable": false, 
       "data":   null, 
       "defaultContent": '' 
      } 
     ], 
     'order': [[0, 'asc']], 
     initComplete: function() 
      { 
       var r = $('#dataTables-subjekt-childrow tfoot tr'); 
       r.find('th').each(function(){ 
       $(this).css('padding', 8); 
       }); 
       $('#dataTables-subjekt-childrow thead').append(r); 
       $('#search_0').css('text-align', 'center'); 
      } 



    }); 


    $('#dataTables-subjekt-childrow tfoot th').each(function() { 
     var title = $(this).text(); 
     $(this).html('<input type="text" placeholder="Hľadaj '+title+'" />'); 
    }); 

    table2.columns().every(function() { 

    var that = this; 
     $('input', this.footer()).on('keyup change', function() { 
      if (that.search() !== this.value) { 
       that 
        .search(this.value) 
        .draw(); 
      } 
     }); 
    }); 

, wenn ich in der letzten Funktion statt Wert setzen „dass“ mein Name der Tabelle, es oben

meine Suche in der Volltextsuche setzt, wie kann ich diese einzelne Spalt Suche erhalten arbeiten pls?

edit: wenn ich fügte hinzu, dass .Column (this.colIdx) zu meinen Code kann ich sehen, dass selbst habe ich Suchbegriff in meinem dritten oder vierten Spalte wird nur in der ersten Spalte

that 
        .column(this.colIdx) 
        .search(this.value) 
        .draw(); 
Suche

edit2: Ich habe versucht, serverseitig zu deaktivieren, um es von Client zu behandeln, aber es ist zu langsam, Ergebnis ist das gleiche wenn ich sehe Parameter von serverseitigen Suche gesendet, schickte es params ok aber 11requests wie ich 11 Spalten in Datentabelle haben, und für einige von Draws gibt es korrekt json und für einige leer. Aber es zeigt, dass keine Daten

Antwort

1

ok zu ziehen, fand ich diese Informationen hilfreich Post und ich erkannte, dass ich habe, um diese Suche setzen in Initcomplete von Datatable https://datatables.net/forums/discussion/31765/server-side-with-individual-column-searching-text-inputs

so jetzt mein Code sieht wie folgt aus

var table2 = $('#dataTables-subjekt-childrow').DataTable({ 
     blablabla 
    'order': [[0, 'asc']], 
    initComplete: function() 
     { 
      var r = $('#dataTables-subjekt-childrow tfoot tr'); 
      r.find('th').each(function(){ 
      $(this).css('padding', 8); 
      }); 
      $('#dataTables-subjekt-childrow thead').append(r); 
      $('#search_0').css('text-align', 'center'); 

    var api = this.api(); 

    // Apply the search 
    api.columns().every(function() { 
    var that = this; 

    $('input', this.footer()).on('keyup change', function() { 
     if (that.search() !== this.value) { 
     that 
      .search(this.value) 
      .draw(); 
     } 
     }); 
    }); 

     } 



}); 


$('#dataTables-subjekt-childrow tfoot th').each(function() { 
    var title = $(this).text(); 
    $(this).html('<input type="text" placeholder="Hľadaj '+title+'" />'); 
});