jQuery DataTables

by ocelikdemir

HTML

<script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css">
<html lang="tr">
<head>
  <meta charset="UTF-8">
</head>
<h3>jQuery DataTables</h3>

<table id="example" class="cell-border compact stripe hover">
     <thead>
         <tr>
             <th>Names <i class="fa fa-sort" aria-hidden="true"></i></th>
             <th>Companies <i class="fa fa-sort" aria-hidden="true"></i></th>
         </tr>
     </thead>
     <tbody>
         <tr>
             <td>Oğuz ÇELİKDEMİR</td>
             <td>AlaskaMarineLines</td>
         </tr>
         <tr>
             <td>Necmi Dirim</td>
             <td>MilkyWay</td>
         </tr>
         <tr>
             <td>Şükran AYVALI</td>
             <td>LyndenAirCargo</td>
         </tr>      
         <tr>
             <td>ISPARTA</td>
             <td>LyndenAirCargo</td>
         </tr>
         <tr>
             <td>ığdır</td>
             <td>LyndenAirCargo</td>
         </tr>
     </tbody>
</table>
</html>

JavaScript

String.prototype.turkishToUpper = function(){
  var string = this;
  var letters = { "i": "İ", "ş": "Ş", "ğ": "Ğ", "ü": "Ü", "ö": "Ö", "ç": "Ç", "ı": "I" };
  string = string.replace(/(([iışğüçö]))/g, function(letter){ return letters[letter]; })
  return string.toUpperCase();
}

$(document).ready(function (){
    var table = $('#example').DataTable({
       "search": {
         //"caseInsensitive": true,
         //"regex": true
       },    
       "columnDefs": [       
          {
             "targets": [1],
             "visible": false
          }    
       ]    
    });
    
    table.search('çelikdemir'.turkishToUpper()).draw();
});