解析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 相关文章推荐
Ajax PHP 边学边练 之三 数据库
Nov 26 PHP
控制PHP的输出:缓存并压缩动态页面
Jun 11 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
php中heredoc与nowdoc介绍
Dec 25 PHP
Smarty foreach控制循环次数的一些方法
Jul 01 PHP
作为程序员必知的16个最佳PHP库
Dec 09 PHP
php in_array() 检查数组中是否存在某个值详解
Nov 23 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
php array_chunk()函数用法与注意事项
Jul 12 PHP
Thinkphp页面跳转设置跳转等待时间的操作
Oct 16 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
中国收音机工业发展史
2021/03/02 无线电
ajax取消挂起请求的处理方法
2013/03/18 PHP
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
Thinkphp极验滑动验证码实现步骤解析
2020/11/24 PHP
jQuery实现左右切换焦点图
2015/04/03 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
解决vue axios的封装 请求状态的错误提示问题
2018/09/25 Javascript
JS中async/await实现异步调用的方法
2019/08/28 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
微信小程序保持session会话的方法
2020/03/20 Javascript
[00:14]护身甲盾
2019/03/06 DOTA
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
Python 功能和特点(新手必学)
2015/12/30 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
python 重定向获取真实url的方法
2018/05/11 Python
python实现按长宽比缩放图片
2018/06/07 Python
Python中的 enum 模块源码详析
2019/01/09 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
2020/10/19 Python
化工专业个人的求职信范文
2013/11/28 职场文书
高一家长会邀请函
2014/01/12 职场文书
安全责任书范本
2014/04/15 职场文书
参赛口号
2014/06/16 职场文书
教师党员个人整改措施
2014/10/27 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
python_tkinter事件类型详情
2022/03/20 Python