使用 jQuery 搜索分页结果

Search paginated results with jQuery

我开发了一个单页应用程序,可以显示数据库中的所有条目 table。结果被分页并在不刷新整个页面的情况下呈现。我的代码的 html 部分是这样的:

<p>Search by Last Name:</p>
  <div class="form-group">  
    <div class="input-group">
        <form method="post">
          <input type="text" name="search" id="search" placeholder="Search by Last Name" class="form-control" />
          <input type="submit" id="submitbtn"/>
        </form>
    </div>  
  </div> 
<div class="table-responsive" id="pagination_data">
</div>

jQuery代码如下:

<script>  
 $(document).ready(function(){

      load_data();

      function load_data(page,search)  
      {  
           $.ajax({  
                url:"pagination.php",  
                method:"POST",  
                data:{page:page, search:search},  
                success:function(data){  
                     $('#pagination_data').html(data);  
                }  
           });  
      }  
      $(document).on('click', '.pagination_link', function(){  
           var page = $(this).attr("id");  
           load_data(page);  
      });
      $(document).on('click', '#submitbtn', function(){  
           var page = $(this).attr("id");
           var search = $('#search').val();
           load_data(page,search);  
      });

 });
 </script> 

我希望能够在不切换到另一页的情况下搜索结果。目前,分页工作正常。我只想找到一种方法将#search 的值发送到服务器端并在查询中使用它。我上面使用的发送#search 值的方法不起作用。

您的提交按钮是一个表单输入,我不认为 click 事件正在触发。如果你改变:

$(document).on('click', '#submitbtn', function(){  

$(document).on('submit', '#submitbtn', function(e){  

您应该会看到函数 fire。请注意,我向匿名函数添加了参数 e。这将允许您在将停止默认表单提交的函数内执行 e.preventDefault();。通常,这会将浏览器重定向到提交的 action 属性

中指向的地址