当前位置:首页>开发>正文

thinkphp怎么实现json无刷分页 SSH2 jquery json实现分页的问题

2023-07-19 03:44:40 互联网 未知 开发

 thinkphp怎么实现json无刷分页 SSH2 jquery json实现分页的问题

thinkphp怎么实现json无刷分页

一、分页方法

/**
* TODO 基础分页的相同代码封装,使前台的代码更少
* @param $m 模型,引用传递
* @param $where 查询条件
* @param int $pagesize 每页查询条数
* @return ThinkPage
*/
function getpage(&$m,$where,$pagesize=10){
$m1=clone $m//浅复制一个模型
$count = $m->where($where)->count()//连惯操作后会对join等操作进行重置
$m=$m1//为保持在为定的连惯操作,浅复制一个模型
$p=new ThinkPage($count,$pagesize)
$p->lastSuffix=false
$p->setConfig(header,共%TOTAL_ROW%条记录 每页%LIST_ROW%条 第%NOW_PAGE%页/共%TOTAL_PAGE%页)
$p->setConfig(prev,上一页)
$p->setConfig(next,下一页)
$p->setConfig(last,末页)
$p->setConfig(first,首页)
$p->setConfig(theme,%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%)

$p->parameter=I(get.)

$m->limit($p->firstRow,$p->listRows)

return $p
}

getpage方法可以放在TP框架的 Application/Common/Common/function.php,这个文档可以专门放置一些通用的方法,在哪里都可以调用(如:Controller文件,View文件等)。

二、调用分页方法
$m=M(products)
$p=getpage($m,$where,10)
$list=$m->field(true)->where($where)->order(id desc)->select()
$this->list=$list
$this->page=$p->show()

再是View代码


  {$page}



三、最后就是分页的样式了,这个有些乱,因后台框架网上下载的,样式还没来的及整理,这个样式也可以自己实现,简单的。

.pagination ul {
display: inline-block
margin-bottom: 0
margin-left: 0
-webkit-border-radius: 3px
-moz-border-radius: 3px
border-radius: 3px
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.05)
-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.05)
box-shadow: 0 1px 2px rgba(0,0,0,0.05)
}
.pagination ul li {
display: inline
}

.pagination ul li.rows {
line-height: 30px
padding-left: 5px
}
.pagination ul li.rows b{color: #f00}

.pagination ul li a, .pagination ul li span {
float: left
padding: 4px 12px
line-height: 20px
text-decoration: none
background-color: #fff
background: url(../images/bottom_bg.png) 0px 0px
border: 1px solid #d3dbde
/*border-left-width: 0*/
margin-left: 2px
color: #08c
}
.pagination ul li a:hover{
color: red
background: #0088cc
}
.pagination ul li.first-child a, .pagination ul li.first-child span {
border-left-width: 1px
-webkit-border-bottom-left-radius: 3px
border-bottom-left-radius: 3px
-webkit-border-top-left-radius: 3px
border-top-left-radius: 3px
-moz-border-radius-bottomleft: 3px
-moz-border-radius-topleft: 3px
}
.pagination ul .disabled span, .pagination ul .disabled a, .pagination ul .disabled a:hover {
color: #999
cursor: default
background-color: transparent
}
.pagination ul .active a, .pagination ul .active span {
color: #999
cursor: default
}
.pagination ul li a:hover, .pagination ul .active a, .pagination ul .active span {
background-color: #f0c040
}
.pagination ul li.last-child a, .pagination ul li.last-child span {
-webkit-border-top-right-radius: 3px
border-top-right-radius: 3px
-webkit-border-bottom-right-radius: 3px
border-bottom-right-radius: 3px
-moz-border-radius-topright: 3px
-moz-border-radius-bottomright: 3px
}

.pagination ul li.current a{color: #f00 font-weight: bold background: #ddd}

SSH2 jquery json实现分页的问题

struts2注解
@Result(name = Action.SUCCESS, type = "json")
@ParentPackage(value = "json-default")

要json 序列化的类记得加get/set方法. 接口不能被序列化.

firefox加jsonview插件就可以看到序列化后的结果.

jquery json html 怎么做分页

$(document).ready(function () {
$.getJSON("list.ashx", function (data) {
$.each(data.TableInfo, function (i, item) {
$("#tbody").append("" item.id "" item.name "")
})
})

})












客户号 客户名称

Jquery Json 前台Table动态分页

你和我做的差不多
in



其他的我都是动态生成的

in Javascript:

var tblHead=" ..."
var tblRow =“”
//here insert JSON objects into each row by a look or by Jquery.each()
tblRow = .....
// end of the loop

tblRow =""
$(tblHead).appendTo("#test")
$(tblRow).appendTo("resultsTable tbody")
ps: 如果之后还要对contents有改动 那么后面的method需要和上面的写在一个function里 因为是动态的 我调用了Jquery libray $ 省去了documents.getElementById (getElementTagName)因为上手就是用的这个