使用Ajax怎么实现一个搜索分页功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,可以通过在后台与服务器进行少量数据交换,使网页实现异步更新。
html代码
<a class="btn-lit" type="submit" onclick="searchResult(on())"><span>搜索</span></a>
//嵌套函数,用来情空最大页数和当前页数
<div id="fenye" class="cnt-wp" >
<span id="pageAjax"> 页次:{$pagefunc[1]}/{$pagefunc[4]} 每页22总数{$pagefunc[2]}</span>
<a class="btn-lit" onclick="pageAjaxFirst()"><span>首页</span></a>
<a class="btn-lit" onclick="pageAjaxPrev()"><span>上一页</span></a>
<a class="btn-lit" onclick="pageAjaxNext()"><span>下一页</span></a>
<a class="btn-lit" onclick="pageAjaxEnd()"><span>尾页</span></a>
<input type="text" name="pageTiao" id="pageTiao" >
<a onclick="tiao()" class="btn-lit"><span>跳转</span></a>
<input type="hidden" name="maxys" id="maxys" value="">
<input type="hidden" name="page" id="pageCurrent" value="">
//hidden用来保存最大页和当前页
</div>
js代码
<script type="text/javascript">
//清空最大页和当前页,保证能够多次搜索
function on()
{
$('#pageCurrent').val('');
$('#maxys').val('');
}
//首页
function pageAjaxFirst()
{
$('#pageCurrent').val(1);
searchResult();
}
//尾页
function pageAjaxEnd()
{
var maxys = $('#maxys').val();
$('#pageCurrent').val(maxys);
searchResult();
}
//下一页
function pageAjaxNext()
{
var maxys = $('#maxys').val();
var page = $('#pageCurrent').val();
$('#pageCurrent').val(parseInt(page) +1);
if (page > maxys) {
$('#pageCurrent').val(maxys);
}
searchResult();
}
//上一页
function pageAjaxPrev()
{
var maxys = $('#maxys').val();
var page = $('#pageCurrent').val();
$('#pageCurrent').val(parseInt(page) -1);
if (page < 1) {
$('#pageCurrent').val(1);
}
searchResult();
}
//跳转页面
function tiao ()
{
var maxys = $('#maxys').val();
var now = $('#pageTiao').val();
$('#pageCurrent').val(now);
var page = $('#pageCurrent').val();
if (page < 1) {
$('#pageCurrent').val(1);
}
if (page > maxys) {
$('#pageCurrent').val(maxys);
}
searchResult();
}
function searchResult()
{
var formData = $("#myPost").serialize();
var caption = $("#caption");
var html = '';
$('#pageBar').remove();
$.ajax({
type:"get",
url:"/user/search/do_search",
data:formData,
success:success,
error: fail
});
function fail() {
alert('查询条件有误。')
}
function success(search){
if (search != null) {
var obj = JSON.parse(search);
var content = obj[0];
var nowPage = obj[1];
var total1 = obj[2];
var allPage = obj[4];
$.each(content, function (key, value) {
html += '<tr class="sousuo"><td class="chk"><input value="" val="' + content[key]['user_id'] + '" type="checkbox" name="CheckBox[' + content[key]['user_id'] + ']" class="check-box" /></td> <td class="txt40 c">' + content[key]['user_id'] + '</td><td class="txt40 c"><a href="/user/user/user_info/user_id/' + content[key]['user_id'] +'" rel="external nofollow" ' + '"title="查看资料">'+ content[key]['account'] + '</a></td>' + '<td class="txt40 c">' + content[key]['nickname']+ '</td><td class="txt40 c">' + content[key]['sex'] + '</td><td class="txt80 c">' + content[key]['coin'] + '</td><td class="txt40 c">' + content[key]['tickets'] + '</td><td class="txt40 c">' + content[key]['gem'] + '</td><td class="txt40 c">VIP' + content[key]['vip_id'] + '</td><td class="txt40 c">' + content[key]['user_type'] + '</td> <td class="txt80 c">' + content[key]['register_platform'] + ' </td> <td class="txt80 c">' + content[key]['register_date'] + '</td> <td class="txt80 c">'+content[key]['last_login_time'] + '</td><td class="txt80 c">'+ content[key]['last_login_ip'] + '</td> <td class="txt80 c">'+ content[key]['game_login_times'] +'</td><td class="txt80 c">'+ content[key]['prohibit_flag'] + '</td><td class="icon"><a class="opt" title="编辑" href="/user/user/edit_user/user_id/' + content[key]['user_id'] + '}" rel="external nofollow" ><span class="icon-sprite icon-edit"></span></a></td></tr>';
});
$('.showTr').remove();
$('.sousuo').remove();
$('.xiaoshi').remove();
$('.show').after(html);
$('#maxys').val(allPage);
$('#pageCurrent').val(nowPage);
} else {
$('.show').after('<tr>没有数据</tr>');
}
$('#fenye').css('display','block');
$('#pageAjax').html('页次:'+ nowPage + '/' + allPage +'每页22总数' + total1);
}
}
</script>
关于使用Ajax怎么实现一个搜索分页功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.jb51.net/article/166447.htm