• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

ThinkPHP5.1+Ajax实现的无刷新分页功能示例

php 搞代码 4年前 (2022-01-01) 26次浏览 已收录 0个评论

这篇文章主要介绍了ThinkPHP5.1+Ajax实现的无刷新分页功能,结合实例形式详细分析了ThinkPHP5.1+Ajax无刷新分页具体原理、前台数据发送与后台处理相关操作技巧,需要的朋友可以参考下

本文实例讲述了ThinkPHP5.1+Ajax实现的无刷新分页功能。分享给大家供大家参考,具体如下:

无刷新分页可以减轻服务器负担,利用Ajax技术,请求部分信息,提高网站访问速度,是网站建设的必备技术。

需要在后台展示自定义属性列表(lst.html),其中的列表部分摘出来,放到(paginate1.html)中:

 <div class="row"> <div class="col-sm-12"> <div class="ibox float-e-margins"> <div class="ibox-content"> <table class="table table-bordered"> <thead> <tr> <th>ID</th><th>名称</th><th>取值</th><th>显示</th><th>排序</th><th>操作</th></tr></thead><tbody> {volist name="self" id="vo"} <tr> <td>{$vo.id}</td><td>{$vo.name}</td><td>{$vo.value}</td><td> {if $vo.isshow==1} <button type="button" class="btn btn-success btn-sm">是</button> {else/} <button type="button" class="btn btn-danger btn-sm">否</button> {/if} </td><td></td><td> <div class="btn-group open"> <button class="btn btn-primary dropdown-toggle">操作 <span class="caret"></span></button><ul class="dropdown-menu"> <li></li><li>删除</li></ul></div></td></tr> {/volist} </tbody></table> {$self|raw} <div class="row"> <div class="col-sm-2"> <button class="btn btn-success" type="button" id="changeOrder"> <i class="fa fa-plus-square"></i>   <span class="bold">排序</span></button></div></div></div></div></div></div>

其中self是服务器端传递过来的自定义属性,并进行了分页操作:

 $selfattribute_select = db("selfattribute")->paginate(5); $this->assign("self",$selfattribute_select); 

因为lst.html把列表摘了出来,所以还要在引入回去,才能使页面完整,同时,为了方便进行jquery操作,把列表用带id的div包裹起来:

 <div id="paginate"> {include file="selfattribute/paginate1"} </div>

ThinkPHP5.1带的分页类使用的是BootStrap样式,它在页面显示时实际会有一个pagination的类,查看源代码如下:

 <ul class="pagination"> <li class="disabled"> <span>«</span></li><li class="active"> <span>1</span></li><li> 2</li><li> 3</li><li> 4</li><li> 5</li><li> 6</li><li> »</li></ul>

这就是好多人搞不懂的pagination是怎么来的。

然后开始写js代码,因为我们的分页按钮也在被请求的页面当中,属于“未来”的元素,所以这里我们要用on方法,这个方法是jquery1.7以后的方法,注意自己的jquery版本。

 

其中.done()方法和success方法是一样的,return false是为了阻止默认事件,防止直接跳转。

那么服务器端就可以根据情况渲染模板了,代码如下:

 public function lst() { $selfattribute_select = db("selfattribute")->paginate(5); $this->assign("self",$selfattribute_select); if (request()->isAjax()) { return view("paginate1"); } else { return view(); } } 

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《来源gaodaima#com搞(代@码网ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

以上就是ThinkPHP5.1+Ajax实现的无刷新分页功能示例的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:ThinkPHP5.1+Ajax实现的无刷新分页功能示例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址