成功追加数据到您的表 - JS

成功追加数据到您的表 - JS

问题描述:

我能够成功地查询我的数据库以查找现有数据。但是现在,我不知道如何让表格只显示正在搜索的项目。当文本框被清除时,表格应该回到默认状态。成功追加数据到您的表 - JS

我该如何做到这一点?

控制器

public function index(Request $request) 
     { 
      $query = "%".$request->get('myInput')."%"; 
      $students = Student::where('name','LIKE',$query)->where('grade_id',Auth::user()->grade_id)->paginate(5);    
      return view('customer.index',compact('stduent','query')); 

     } 

JS

<script> 
     $(document).ready(function() { 
       var typingTimer;    //timer identifier 
       var doneTypingInterval = 100; //time in ms (5 seconds) 

       $("#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: '/admin/search/?myInput='+key, 
        type: 'GET', 
        beforeSend: function() { 
        $("#table").slideUp('fast'); 

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

     } 
    } 
    </script> 

你可以试试这个:

success: function (data) { 

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

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

    table.append(" 
    <tr><td>"+elem.id+"</td> 
    <td>"+elem.name+"</td> 
    <td>"+elem.lastname+"</td> 
    </tr> 
    "); 
    }); 
    } 

因为您正在检查if (key.length >= 1)这意味着如果用户没有输入任何内容,请将该表与当前内容留在一起。 Read this

+0

,请检查你的语法。它看起来很怪我 – XamarinDevil

+0

什么看起来越野车?更精确? –

+0

其中行正被追加到表中,当我评论那一边我的代码,它运行..它说无效或意外的标记 – XamarinDevil

您可以使用$("#table").empty()它以清除新的搜索追加数据之前

+0

当成功时,我的表格中没有任何内容被追加。但在我的控制台我看对象的数组被人发现一样'{ID:1,名称: “琼斯”,电话: “23242349243”,地址: “pickson” ...} 长度 : __proto__ : 阵列(0)' – XamarinDevil

+0

这些数据是你不能直接附加到表格的json数据。你应该使用attr来追加,如'table.append(“

​​”+ data.name +“ ”)'。并在此之前,您可以申请'$(“#table”)。empty()'清除新表的搜索结果 –
+0

我不明白你是如何清空表格的。这是我想要的,当用户启动时打字,它必须过滤 – XamarinDevil