解析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脚本数据库功能详解(下)
Oct 09 PHP
网站用php实现paypal整合方法
Nov 28 PHP
PHP函数strip_tags的一个bug浅析
May 22 PHP
php简单socket服务器客户端代码实例
May 18 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 PHP
PHP双向链表定义与用法示例
Jan 31 PHP
Laravel框架实现利用中间件进行操作日志记录功能
Jun 06 PHP
PHP children()函数讲解
Feb 03 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 PHP
详解php反序列化
Jun 10 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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
香妃
2021/03/03 冲泡冲煮
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
2020/05/02 PHP
鼠标经过的文本框textbox变色
2009/05/21 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
js实现动态增加文件域表单功能
2018/10/22 Javascript
跟老齐学Python之编写类之二方法
2014/10/11 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
2015/03/10 Python
Python图像处理PIL各模块详细介绍(推荐)
2019/07/17 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
python 星号(*)的多种用途
2020/09/21 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
市场营销专业推荐信
2013/11/03 职场文书
2015年设计师个人工作总结
2015/04/25 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
让子弹飞观后感
2015/06/11 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
工作简历的自我评价
2019/05/16 职场文书
不知如何爱孩子,这些方法教会您
2019/08/06 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js
苹果发布了MagSafe固件更新,可以不外接电源实现最高7.5W充电
2022/04/21 数码科技