解析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
用mysql触发器自动更新memcache的实现代码
Oct 11 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
php开启安全模式后禁用的函数集合
Jun 26 PHP
php下载文件的代码示例
Jun 29 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
PHP中array_keys和array_unique函数源码的分析
Feb 26 PHP
PHP中类的继承和用法实例分析
May 24 PHP
Yii视图CGridView实现操作按钮定义地址示例
Jul 14 PHP
php探针不显示内存解决方法
Sep 17 PHP
PHP如何解决微信文章图片防盗链
Dec 09 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
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
php 大数据量及海量数据处理算法总结
2011/05/07 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
简单的JS时钟实例讲解
2016/01/13 Javascript
对js eval()函数的一些见解
2016/08/15 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
Angularjs 设置全局变量的方法总结
2016/10/20 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
详解vue-resource promise兼容性问题
2017/06/20 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
python和bash统计CPU利用率的方法
2015/07/10 Python
python实现简单聊天应用 python群聊和点对点均实现
2017/09/14 Python
pygame游戏之旅 添加键盘按键的方法
2018/11/20 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
Python3.5迭代器与生成器用法实例分析
2019/04/30 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
html5 学习简单的拾色器
2010/09/03 HTML / CSS
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
医院护士求职自荐信格式
2013/09/21 职场文书
对祖国的寄语大全
2014/04/11 职场文书
学生不讲诚信检讨书
2014/09/29 职场文书
艺术节开幕词
2015/01/28 职场文书
2015年小学数学教师个人工作总结
2015/05/25 职场文书
新兵入伍决心书
2015/09/22 职场文书
初三化学教学反思
2016/02/22 职场文书
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫