解析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中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
php gzip压缩输出的实现方法
Apr 27 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
Dec 19 PHP
PHP中的Session对象如何使用
Sep 25 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP实现上传图片到数据库并显示输出的方法
May 31 PHP
thinkPHP5框架实现基于ajax的分页功能示例
Jun 12 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 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&amp;mysql(一)
2006/10/09 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
pdo中使用参数化查询sql
2011/08/11 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
PHP7新特性
2021/03/09 PHP
使用Javascript和DOM Interfaces来处理HTML
2006/10/09 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
Vue使用lodop实现打印小结
2019/07/06 Javascript
详解vue3.0 的 Composition API 的一种使用方法
2020/10/26 Javascript
python判断、获取一张图片主色调的2个实例
2014/04/10 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
实时获取Python的print输出流方法
2019/01/07 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
Python 爬虫实现增加播客访问量的方法实现
2019/10/31 Python
python实现程序重启和系统重启方式
2020/04/16 Python
瑞典度假品牌:OAS
2019/05/28 全球购物
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
银行求职信个人范文
2013/12/16 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
求职自我评价范文100字
2014/09/23 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
公司规章制度范本
2015/08/03 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
JS setTimeout与setInterval的区别
2022/04/20 Javascript
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers
索尼ICF-36收音机评测
2022/04/30 无线电
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS