2013-10-24 75 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

因此,您在每次請求後將結果追加到tbody。你刪除重複的條目或以某種方式合併它們? –

+0

在發出請求之前,我使用.empty()從表中刪除了所有行。 – David

回答

0

剛剛發現了tabelsorter的更新。

追加後項目做到這一點:

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

不要有錯誤了。

相關問題