thinkphp5 ajax分页
来源:互联网 发布:心动网络客服电话多少 编辑:程序博客网 时间:2024/05/24 15:39
最近一个页面的选项卡又牵扯到ajax分页,所以研究了一下tp5的ajax分页使用方法
首先看一下tp5的分页功能介绍
参数 描述
$caseDetails = CaseDetails::where(['status'=>1])->paginate(9,false,['path'=>'javascript:AjaxPage([PAGE]);']);所以我们分页查询写成上面代码所示。
这样页面显示每个分页上面变成了AjaxPage('当前分页数,自动变化‘)
然后我们就可以在页面中写一个对应的函数AjaxPage(page),来完成对应的ajax请求查询,在返回到指定的视图中
ajax请求控制器方法如下
public function all() { $caseDetails = CaseDetails::where(['status'=>1])->paginate(9,false,['path'=>'javascript:AjaxPage([PAGE]);']); return view('getall',['res'=>$caseDetails]); }
如果选项卡带ID再次查询对应当前分类,可以使用如下
public function getAjax($id,$page=1) { $res = CaseDetails::where(['category'=>$id])->paginate(9,false,['page'=>$page,'path'=>"javascript:AjaxDetailsPage({$id},[PAGE]);"]); return view('',['res'=>$res]); }
js代码如下:
function AjaxPage(page){ $.get('/index/successcase/getAll',{ page:page },function (data) { $('.little-content').html(data); }) } $('.on').hover(function(){ $.get('/index/successcase/all',function (data) { $('.little-content').html(data); }) }); $('.title-id').hover(function(){ var id = $(this).attr('title'); $.get('/index/successcase/getajax',{ 'id':id },function(data){ $('.little-content').html(data); }); }); function AjaxDetailsPage(id,page){ $.get('/index/successcase/getAjax',{ id:id,page:page },function (data) { $('.little-content').html(data); }) }
ajax作用范围视图
{volist name="res" id="casedetails"}<li class="little-block"> <img src="{$casedetails.pic}"/> <div class="mb-text"> <div class="text"> <h1>{$casedetails.name}</h1> <p class="p3">{$casedetails.caseCategory.name}</p> <a href="#">VIEW MORE</a> </div> </div></li>{/volist}<br>{$res->render()}
阅读全文