解析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 相关文章推荐
我的论坛源代码(九)
Oct 09 PHP
php去除重复字的实现代码
Sep 16 PHP
php cc攻击代码与防范方法
Oct 18 PHP
PHP导入导出Excel代码
Jul 07 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
phpmailer绑定邮箱的实现方法
Dec 01 PHP
php计算多个集合的笛卡尔积实例详解
Feb 16 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 PHP
php表单处理操作
Nov 16 PHP
php用户名的密码加密更安全的方法
Jun 21 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 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+Ajax实现表单验证的详解
2013/06/25 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
深入浅析JavaScript中的scrollTop
2016/07/11 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
JS匿名函数和匿名自执行函数概念与用法分析
2018/03/16 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
如何在Vue项目中添加接口监听遮罩
2021/01/25 Vue.js
[57:37]EG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
python放大图片和画方格实现算法
2018/03/30 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
掌上明珠Java程序员面试总结
2016/02/23 面试题
生物科学专业个人求职信范文
2013/12/07 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
机关道德讲堂实施方案
2014/03/15 职场文书
乡党委干部党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/01 职场文书
房租涨价通知
2015/04/23 职场文书
实验室安全管理制度
2015/08/05 职场文书
创业计划书之婴幼儿游泳馆
2019/09/11 职场文书
PHP实现两种排课方式
2021/06/26 PHP