2013-10-24 3 views
0

В настоящее время у меня есть сценарий, который получает информацию из базы данных после ввода (500 мс). В первый раз, когда я указываю параметр, он полностью работает, но во второй раз, если я даю другой параметр, он не делает все правильно. Когда я нажимаю на заголовки таблицы, он добавляет 15 строк, но сначала удаляю их, а мой лимит по моему запросу - 5 строк.Сортировка сгенерированных строк tablesorter

Как это исправить?

<html> 
    <head> 

     <script> 

      jQuery(document).ajaxStop(function() { 
       jQuery("#myTable").tablesorter(); 
      }); 

      var delay = (function() { 
       var timer = 0; 
       return function(callback, ms) { 
        clearTimeout(timer); 
        timer = setTimeout(callback, ms); 
       }; 
      })(); 

      $(document).on("keypress", "#searchValue", function() { 


       delay(function() { 


        $("#myTable tbody").empty(); 
        var name = $("#searchValue").val(); 
        $.post("<?php echo site_url('project/searchProject'); ?>", 
          { 
           name: name 

          }, 
        function(data, status) { 
         var items = ""; 
         data = $.parseJSON(data); 
         if (data.toString() !== "") { 
          $.each(data, function(index, item) { 
           items += "<tr>" + "<td>" + item.Code + "</td>"; 
           items += "<td>" + item.Description + "</td>"; 
           items += "<td>" + item.ProjectLeader + "</td>"; 
           items += "<td>" + item.AccountManager + "</td>"; 
           items += "</tr>"; 

          }); 
         } 
         $("#myTable tbody").append(items); 


        }); 

       }, 500); 

      }); 

     </script> 
    </head> 


    <body> 
     <input type='text' name='searchValue' id='searchValue'/> 

     <br> 
     <br> 


     <table id='myTable' class='tablesorter'> 
      <thead> 
       <tr> 
        <th>Code</th> 
        <th>Description</th> 
        <th>Project leader</th> 
        <th>Account manager</th> 
       </tr> 
      </thead> 
      <tbody> 

      </tbody> 
     </table> 


    </body> 
</html> 
+0

Таким образом, вы добавляете результаты к телу после каждого запроса. Удаляете ли вы дубликаты записей или каким-то образом их объединяете? –

+0

Я удаляю все строки из таблицы с помощью .empty() перед выполнением запроса. – David

ответ

0

Просто узнал об обновлении на tabelsorter.

После добавления элементы делают это:

$("#myTable").trigger("update"); 

Не получили ошибок больше.

Смежные вопросы