使用 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
属性
中指向的地址
我开发了一个单页应用程序,可以显示数据库中的所有条目 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
属性