CI的AJAX分页实现
本帖最后由 mujiantao 于 2013-2-16 16:56 编辑看了一下CI的分页类没有写到关于AJAX的内容,也在论坛上看到其他几位大神写的分页类扩展,感觉其实是没有必要。
在现有的基础上做了一下小小的改动还是能实现的。
下面进入正题:
CI的原生分页类中有一个参数 $config
这个参数是用来设置分页链接的样式的,所以我们可以设置成这样:
$config = 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 = site_url(qyadmin/ContentList/.$id./.$p);
$config = $this->admin->content_list($id,$p,1);
$config = 5;
$config = 5;
$config = FALSE;
$config = FALSE;
$config = <p>;
$config = </p>;
$config = FALSE;
$this->load->helper(url);
$skin_url = base_url().APPPATH . "views/templates";
$config = <img src=".$skin_url./images/page_next.gif">;
$config = <li class="fr">;
$config = </li>;
$config = <img src=".$skin_url./images/page_prev.gif">;
$config = <li class="fr">;
$config = </li>;
$config = class="ajax_fpage";
$this->pagination->initialize($config);
$content = $this->admin->content_list($id,$p,0,$config,$this->uri->segment(5));
$fpage = $this->pagination->create_links();
$this->smarty->assign(fpage,$fpage);
$this->smarty->assign(content,$content);
$this->smarty->view(show.tpl);
}
本文出自303blog,转载请申明!原文地址:http://www.303blog.org/229
我是直接继承他的分页类即可 然后代码改下就行 有完整的例子吗? 不错 ,这个方法还比较简洁 顶!!!挺简洁的,最近刚好用到这个 简洁,好 这个方法很早以前都知道了:lol,其实配置都不用改。JS直接拦截就可以 MARK一下,就这两天可能会用到。 思想不错,感觉还是把CI和ajax分离开最好,CI是让代码编写简单清晰,而ajax的交互个人感觉还是js来控制最好!吧后台前台分开! 学习了{:1_1:}{:1_1:} Mark! 不能解决cur_page的问题!!
页:
[1]
2