CI的AJAX分页另类实现

看了一下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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值