2017-12-18 150 views
1

使用下面的腳本,當我開始在我的表格中搜索Facebook時,它將提取的Facebook附加到表格中,現在我在表格上有兩個Facebook數據。當我清除搜索輸入時,表格必須移動到默認狀態,具有全部items過濾HTML表格 - Ajax

爲什麼我的腳本沒有這樣做?

PS:抱歉,我的英語不好

<script> 
$(document).ready(function() { 
     var typingTimer;     
     var doneTypingInterval = 100; 

     $("#myInput").on('keyup', function() { 
      clearTimeout(typingTimer); 
      if ($('#myInput').val()) { 
       typingTimer = setTimeout(doneTyping, doneTypingInterval); 
      } 
     }); 
    }); 

    //user is "finished typing," do something 
    function doneTyping() { 
     var key = $('#myInput').val(); 

     if (key.length >= 1) { 
      $.ajax({ 
       url: '/customer/search/?myInput='+key, 
       type: 'GET', 
       beforeSend: function() { 
       $("#table").slideUp('fast'); 

       }, 
       success: function (data) { 
        console.log(data); 
        $("#table").slideDown('fast'); 

        var table = $("#table tbody"); 

         $.each(data, function(idx, elem){ 
          table.append(

           "<tr><td></td> <td>"+elem.name+"</td><td>"+elem.phone+"</td><tr>" 

          ); 

         }); 




       }    

      }); 

    } 
} 
</script> 

回答

1

你添加一個if (key.length >= 1)條件,因此,如果您清除搜索輸入也不會再次調用AJAX功能。你應該刪除這個條件。

+0

但是當我清除時它不會移動到默認狀態?它仍然有重複的數據 – LearnLaravel

+0

確實,你應該在你的「成功」函數中添加一些內容來清除表格。和table.html('')一樣,在$ .each()之前是合理的。 – Poney