2015-11-11 2 views
0

Я использую jQuery DataTables с Ajax для отображения данных. Он показывает данные, но сортировка и поиск не работают. Когда я нажимаю в любом столбце для сортировки данных, он показывает «Обработка ...», и ничего не происходит.Datatables - Сортировка и поиск не работают

Это мой код:

<div class="row"> 
    <div id="flux-col-1" class="col-md-12"> 
     <div class="body" id=""> 
      <div class="row"> 
        <table id="example" class="display" cellspacing="0" width="100%"> 
         <thead> 
          <tr> 
           <th>From</th> 
           <th>Object</th> 
           <th>Date</th> 
          </tr> 
         </thead> 

       </table> 
      </div> 
     </div> 
    </div> 
</div> 

<script> 

$(document).ready(function() { 
    $('#example').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": "mails", 
     "columns": [ 
        { "data": "from" }, 
        { "data": "object" }, 
        { "data": "created" } 
       ] 
    }); 
}); 
</script> 
+0

' "Аякс": "письмо",' - что такое 'mails'? – markpsmith

+0

«Когда я нажимаю в любом столбце для фильтрации данных», вы имеете в виду сортировку? Фильтрация выполняется из строки поиска. Если ваша сортировка и фильтрация не работают, вам нужно указать код на стороне сервера. Таков характер использования опции «serverSide» с настройкой true. Вся ваша сортировка, поиск, разбивка на страницы и т. Д. Выполняется в коде на стороне сервера. Без этого мы не можем понять, в чем проблема. – Jakotheshadows

+3

Попробуйте удалить '" serverSide ": true'. Когда серверная обработка включена, сортировка, фильтрация и разбиение на страницы должны выполняться на сервере. Похоже, что вы не используете серверную обработку на основе вашего описания. –

ответ

0

попробовать это и изменить уры "Аякс": "письмо", с URL, как этот

<div class="row"> 
    <div id="flux-col-1" class="col-md-12"> 
     <div class="body" id=""> 
      <div class="row"> 
        <table id="example" class="display" cellspacing="0" width="100%"> 
         <thead> 
          <tr> 
           <th>From</th> 
           <th>Object</th> 
           <th>Date</th> 
          </tr> 
         </thead> 

       </table> 
      </div> 
     </div> 
    </div> 
</div> 

<script> 

$(document).ready(function() { 
    $('#example').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": { 
      "url": "<?php echo site_url('mails/ajax_list_mail')?>", 

     "columns": [ 
        { "data": "from" }, 
        { "data": "object" }, 
        { "data": "created" } 
       ] 
    }); 
}); 
</script> 
Смежные вопросы