解析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伪造referer实例代码
Sep 20 PHP
php session处理的定制
Mar 16 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
将一维或多维的数组连接成一个字符串的php代码
Aug 08 PHP
php开发过程中关于继承的使用方法分享
Jun 17 PHP
PHP程序漏洞产生的原因分析与防范方法说明
Mar 06 PHP
使用ob系列函数实现PHP网站页面静态化
Aug 13 PHP
试用php中oci8扩展
Jun 18 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
Feb 14 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
php图像验证码生成代码
Jun 08 PHP
PHP 数组操作详解【遍历、指针、函数等】
May 13 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
几种显示数据的方法的比较
2006/10/09 PHP
php创建sprite
2014/02/11 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
Yii2语言国际化自动配置详解
2018/08/22 PHP
雄兵连第三季海报曝光,艾妮熙德成主角,蔷薇新造型
2021/03/09 国漫
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
javascript &amp;&amp;和||运算法的另类使用技巧
2009/11/28 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
用js提交表单解决一个页面有多个提交按钮的问题
2014/09/01 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
2016/01/26 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
window.onload绑定多个事件的两种解决方案
2016/05/15 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
python实现验证码识别功能
2018/06/07 Python
Python多线程同步---文件读写控制方法
2019/02/12 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
CSS3制作缩略图的详细过程
2016/07/08 HTML / CSS
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
美国特价机票专家:Airfarewatchdog
2018/01/24 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
单位更名证明
2015/06/18 职场文书
python 破解加密zip文件的密码
2021/04/22 Python
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python
聊聊SpringBoot自动装配的魔力
2021/11/17 Java/Android