解析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数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
php仿QQ验证码的实例分析
Jul 01 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
Jul 18 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
PHP上传图片类显示缩略图功能
Jun 30 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
php基于dom实现的图书xml格式数据示例
Feb 03 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
实例讲解php将字符串输出到HTML
Jan 27 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
Sep 16 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中动态显示签名和ip原理
2007/03/28 PHP
一个图片地址分解程序(用于PHP小偷程序)
2014/08/23 PHP
php数组查找函数总结
2014/11/18 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
JavaScript 高级篇之闭包、模拟类,继承(五)
2012/04/07 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
第七章之菜单按钮图标组件
2016/04/25 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
2017/01/18 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
Python中的类学习笔记
2014/09/23 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
Java如何读取CLOB字段
2013/10/10 面试题
医学生实习自我鉴定
2013/09/27 职场文书
大学生毕业自我评价范文分享
2013/11/07 职场文书
环保建议书200字
2014/05/14 职场文书
写字楼租赁意向书
2014/07/30 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
党员民主评议自我评价
2014/10/20 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
2016年党建工作简报
2015/11/26 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
浅谈如何写好演讲稿?
2019/06/12 职场文书
四年级作文之说明文作文
2019/10/14 职场文书