2017-12-18 129 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