thinkPHP内置的分页类只需修改很小一部分就可以实现
thinkPHP内置的分页类的分页方式是在URL地址中传名为p的参数
p的值为几就代表为第几页
所以要想无刷新实现分页就要先把Page.class.php(内置的分页类)修改一下
(一)
(1):把类里的a标签的链接给删掉
(2):在a标签设置一个参数num
(二)
在js中写方法
$(document).on('click', '.first,.prev,.next,.end,.num', function(){ *绑定点击事件(后来添加的元素也将有点击事件)
var num = $(this).attr("num"); *获得要跳转到的页数页数
$.get(url,{p:num},function(data){ *function(data)回调函数
$(".page").html(data[1]); *将导航替换掉
alert(data[2]); *将新内容打印出来(你也可进行别的操作)
})
});
(三)
在控制器中写
public function plan(){
* $p = I('get.p'); *获得前台传来的分页值(数)
$car = M("ShowCar"); *连接数据表$where['id'] = array('gt',5);
$total = $car->where($where)->count();*获得id>5的数据数$per = 5; *每页显示的数目
$Page = new \Think\Page($total, $per);*实例化分页类
$show = $Page->show();*分页数据赋值
$new = $car -> where($where) -> limit($Page->firstRow.','.$Page->listRows) -> select();$info = array($new,$show);
if(!empty($p)){*判断是否为异步请求
$this -> ajaxReturn($info);*返回获得到的数据
}else{$this->assign('show_car', $info[0]);
$this->assign('show_page', $info[1]);
$this->display();
}
}希望能帮助你