解析CI的AJAX分页 另类实现方法


Posted in PHP onJune 27, 2013

看了一下CI的分页类没有写到关于AJAX的内容,也在论坛上看到其他几位大神写的分页类扩展,感觉其实是没有必要。
在现有的基础上做了一下小小的改动还是能实现的。
下面进入正题:
CI的原生分页类中有一个参数 $config[anchor_class]
这个参数是用来设置分页链接的样式的,所以我们可以设置成这样:
$config[anchor_class] = "class=ajax_fpage";
然后在view部分这样采用禁止a便签默认动作的方法来取得AJAX的调取效果。
代码如下:

<script>
    $(.ajax_fpage).click(function(e){
    var url = $(this).attr(href);
        $.get(url,{},function(res){
            $(#show_what_table).html(res);
        });
    event.preventDefault();
    });
</script>

当ajax_fpage点击的时候,禁止a标签的默认动作,并得到href信息,然后用get方法取得href的内容,并更新dom.

这样一个完整的ajax分页就实现了。从而不需要对原始的类进行扩展了。
详细的PHP代码如下:

function ContentList($id,$p=0)
{
    $this->load->library(pagination);
    $config[base_url] = site_url(qyadmin/ContentList/.$id./.$p);
    $config[total_rows] = $this->admin->content_list($id,$p,1);
    $config[per_page] = 5;
    $config[uri_segment] = 5; 
    $config[first_link] = FALSE;
    $config[last_link] = FALSE;
    $config[full_tag_open] = <p>;
    $config[full_tag_close] = </p>;
    $config[display_pages] = FALSE;
    $this->load->helper(url);
    $skin_url = base_url().APPPATH . "views/templates";
    $config[next_link] = <img src=".$skin_url./images/page_next.gif">;
    $config[next_tag_open] = <li class="fr">;
    $config[next_tag_close] = </li>; 
    $config[prev_link] = <img src=".$skin_url./images/page_prev.gif">;
    $config[prev_tag_open] = <li class="fr">;
    $config[prev_tag_close] = </li>;
    $config[anchor_class] = class="ajax_fpage";
    $this->pagination->initialize($config);
    $content = $this->admin->content_list($id,$p,0,$config[per_page],$this->uri->segment(5));
    $fpage = $this->pagination->create_links();
    $this->smarty->assign(fpage,$fpage);
    $this->smarty->assign(content,$content);
    $this->smarty->view(show.tpl);
}
PHP 相关文章推荐
中篇:安装及配置PHP
Dec 13 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
PHP base64编码后解码乱码的解决办法
Jun 19 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
php绘制圆形的方法
Jan 24 PHP
php实现图片以base64显示的方法
Oct 13 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
Oct 31 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
php使用curl伪造浏览器访问操作示例
Sep 30 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 PHP
解析Win7 XAMPP apache无法启动的问题
Jun 26 #PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
Jun 26 #PHP
解析获取优酷视频真实下载地址的PHP源代码
Jun 26 #PHP
Youku 视频绝对地址获取的方法详解
Jun 26 #PHP
解析php 版获取重定向后的地址(代码)
Jun 26 #PHP
php连接函数implode与分割explode的深入解析
Jun 26 #PHP
解析PHP正则提取或替换img标记属性
Jun 26 #PHP
You might like
探寻PHP脚本不报错的原因
2014/06/12 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
PHP实现在线阅读PDF文件的方法
2015/06/23 PHP
Jquery 插件开发笔记整理
2011/01/17 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
基于JavaScript表单脚本(详解)
2017/10/18 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
[00:14]护身甲盾
2019/03/06 DOTA
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
基于打开pycharm有带图片md文件卡死问题的解决
2020/04/24 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
Fashion Eyewear美国:英国线上设计师眼镜和太阳镜的零售商
2016/08/15 全球购物
玩具反斗城美国官网:Toys"R"Us
2016/09/17 全球购物
行政总经理岗位职责
2013/12/05 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
2015年出纳工作总结与计划
2015/05/18 职场文书
防溺水主题班会教案
2015/08/12 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
JVM入门之类加载与字节码技术(类加载与类的加载器)
2021/06/15 Java/Android
django中websocket的具体使用
2022/01/22 Python