加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

CI的AJAX分页另类实现

发布时间:2020-12-15 22:09:19 所属栏目:百科 来源:网络整理
导读:看了一下CI的分页类没有写到关于AJAX的内容,也在论坛上看到其他几位大神写的分页类扩展,感觉其实是没有必要。 在现有的基础上做了一下小小的改动还是能实现的。 下面进入正题: CI的原生分页类中有一个参数$config[anchor_class] 这个参数是用来设置分页链

看了一下CI的分页类没有写到关于AJAX的内容,也在论坛上看到其他几位大神写的分页类扩展,感觉其实是没有必要。

在现有的基础上做了一下小小的改动还是能实现的。

下面进入正题:

CI的原生分页类中有一个参数$config[anchor_class]

这个参数是用来设置分页链接的样式的,所以我们可以设置成这样:

?
$config[anchor_class] ="class=ajax_fpage";

  

然后在view部分这样采用禁止a便签默认动作的方法来取得AJAX的调取效果。

代码如下:

?
<script>
$(.ajax_fpage).click(function(e){
varurl = $(this).attr(href);
$.get(url,{},function(res){
$(#show_what_table).html(res);
});
event.preventDefault();
});
</script>

  

当ajax_fpage点击的时候,禁止a标签的默认动作,并得到href信息,然后用get方法取得href的内容,并更新dom.

这样一个完整的ajax分页就实现了。从而不需要对原始的类进行扩展了。

详细的PHP代码如下:

?
functionContentList($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] = <liclass="fr">;
$config[next_tag_close] = </li>;
$config[prev_link] = <img src=".$skin_url./images/page_prev.gif">;
$config[prev_tag_open] = <liclass="fr">;
$config[prev_tag_close] = </li>;
$config[anchor_class] =class="ajax_fpage";
$this->pagination->initialize($config);
$content=$this->admin->content_list($id,$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);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读