解析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
PHP 命名空间实例说明
Jan 27 PHP
PHP中4个加速、缓存扩展的区别和选用建议
Mar 12 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
PHP中$this和$that指针使用实例
Jan 06 PHP
php实现中文转数字
Feb 18 PHP
PHP htmlentities()函数用法讲解
Feb 25 PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PHP底层运行机制与工作原理详解
Jul 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 swfupload图片上传的实例代码
2013/09/30 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
2019/03/21 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
jQuery的事件委托实例分析
2015/07/15 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
JavaScript基于面向对象实现的无缝滚动轮播示例
2020/01/17 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
跟老齐学Python之大话题小函数(1)
2014/10/10 Python
Python 自动化表单提交实例代码
2017/06/08 Python
深入理解Django的自定义过滤器
2017/10/17 Python
对python中类的继承与方法重写介绍
2019/01/20 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
pycharm显示远程图片的实现
2019/11/04 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
普师专业个人自荐信范文
2013/11/26 职场文书
岗位廉洁从业承诺书
2014/03/28 职场文书
法院先进个人事迹材料
2014/05/04 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA