mujiantao 发表于 2013-2-16 16:54:14

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



57sy.com(隐身中 发表于 2014-9-20 11:36:35

我是直接继承他的分页类即可 然后代码改下就行

beney427597 发表于 2014-12-5 09:30:08

有完整的例子吗?

跟屁虫 发表于 2013-2-16 21:41:31

不错 ,这个方法还比较简洁

傻瓜青蛙~~ 发表于 2013-3-15 10:39:44

顶!!!挺简洁的,最近刚好用到这个

lh529 发表于 2013-4-19 16:24:33

简洁,好

longjianghu 发表于 2013-4-19 17:51:36

这个方法很早以前都知道了:lol,其实配置都不用改。JS直接拦截就可以

流浪的乞丐 发表于 2013-7-2 17:35:30

MARK一下,就这两天可能会用到。

fengshuang_110 发表于 2013-7-19 10:33:27

思想不错,感觉还是把CI和ajax分离开最好,CI是让代码编写简单清晰,而ajax的交互个人感觉还是js来控制最好!吧后台前台分开!

gs129090 发表于 2013-7-19 15:30:03

学习了{:1_1:}{:1_1:}

khalilfiona 发表于 2013-8-13 01:43:49

Mark!

khalilfiona 发表于 2013-8-26 16:20:38

不能解决cur_page的问题!!
页: [1] 2
查看完整版本: CI的AJAX分页实现