熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

解析CI的AJAX分頁 另類實現方法

2013-11-15 12:31:20  來源: PHP編程 

  看了一下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);
});
eventpreventDefault();
});
</script>

  
當ajax_fpage點擊的時候禁止a標簽的默認動作並得到href信息然後用get方法取得href的內容並更新dom

這樣一個完整的ajax分頁就實現了從而不需要對原始的類進行擴展了
詳細的PHP代碼如下

復制代碼 代碼如下:

  
function ContentList($id$p=)
{
$this>load>library(pagination);
$config[base_url] = site_url(qyadmin/ContentList/$id/$p);
$config[total_rows] = $this>admin>content_list($id$p);
$config[per_page] = ;
$config[uri_segment] = ;
$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_nextgif">;
$config[next_tag_open] = <li class="fr">;
$config[next_tag_close] = </li>;
$config[prev_link] = <img src="$skin_url/images/page_prevgif">;
$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$config[per_page]$this>uri>segment());
$fpage = $this>pagination>create_links();
$this>smarty>assign(fpage$fpage);
$this>smarty>assign(content$content);
$this>smarty>view(showtpl);
}


From:http://tw.wingwit.com/Article/program/PHP/201311/21102.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.