解析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 相关文章推荐
从网上搜到的phpwind 0day的代码
Dec 07 PHP
测试您的 PHP 水平的题目
May 30 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
php中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 PHP
Windows下安装Memcached的步骤说明
Apr 25 PHP
php urlencode()与urldecode()函数字符编码原理详解
Dec 06 PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 PHP
php教程 插件机制在PHP中实现方案
Nov 02 PHP
关于URL最大长度限制的相关资料查证
Dec 23 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
Mar 22 PHP
PHP rmdir()函数的用法总结
Jul 02 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
php字符串截取问题
2006/11/28 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
分享一个asp.net pager分页控件
2012/01/04 Javascript
JavaScript起点(严格模式深度了解)
2013/01/28 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
JS+HTML5 Canvas实现简单的写字板功能示例
2018/08/30 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
手把手教你 CKEDITOR 4 实现Dialog 内嵌 IFrame操作详解
2019/06/18 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
python友情链接检查方法
2015/07/08 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
Yahoo-PHP面试题2
2014/12/06 面试题
linux面试题参考答案(6)
2016/06/23 面试题
《鞋匠的儿子》教学反思
2014/03/02 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
公司晚会策划方案
2014/05/17 职场文书
公司委托书格式范本
2014/09/16 职场文书
农村环境卫生倡议书
2015/04/29 职场文书
个人求职意向书
2015/05/11 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
python神经网络编程之手写数字识别
2021/05/08 Python
java版 简单三子棋游戏
2022/05/04 Java/Android