效果图:
html:
<div class="form-inline">
<div class="pagination form-group ">
{$page}
<span style="border-top-right-radius: 4px;border-bottom-right-radius: 4px;">共{$pagecount}页</span>
<input class="form-control" style="width: 80px;margin-left: -10px;"
type="text" min="1" max="{$pagecount}" id="pageindex" name="pageindex" placeholder="页码"/>
<input class="btn btn-danger" type="button" onclick="openPage()" value="确定" />
</div>
</div>
php事件:
$listAll=D("jxkp_djfz_base")->query($sql);
$count=sizeof($listAll);//数据总量
$pagesize=2;//分页尺寸
$page = $this->page($count, $pagesize);//分页控件
$this->assign("pagecount",ceil($count/$pagesize));//总量分了多少页,四舍五入
$page->parameter=$_POST;
$list=D("jxkp_djfz_base")
->query($sql." limit ". $page->firstRow. ",". $page->listRows);//拼接sql语句
$this->assign("list",$list);
$this->assign("page", $page->show('Admin'));
js事件:
function openPage(){
var pageindex=$("#pageindex").val();
var maxindex=$("#pageindex").attr("max");
if(isnumber(pageindex)){
if(parseInt(pageindex)<=parseInt(maxindex)){
var url=$(".pagination>a:last").attr("href");//获取它下面的地址链接href属性
var reg=url.match(/&p=\d*/)[0];//匹配正则表达式,这里可以alert出来看看,防止出现意外。
var newurl=url.replace(reg,"&p="pageindex);//替换成新的地址
document.location.href=newurl;
}
else{
alert("最大页数为"+maxindex);
}
}
}
//验证是否是一位数字
function isnumber(data) {
var regtel = /^[\d]{1,6}$/;
if (regtel.test(data)) {
return true;
}
else {
return false;
}
}
$pagecount从控制器计算,$this->assign("pagecount",ceil($count/$pagesize));
ceil 是除法加一的运算,只要有余数就加1。