解析CI的AJAX分頁 另類實(shí)現(xiàn)方法
更新時(shí)間:2013年06月27日 12:58:27 作者:
本篇文章是對CI的AJAX分頁 另類實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
看了一下CI的分頁類沒有寫到關(guān)于AJAX的內(nèi)容,也在論壇上看到其他幾位大神寫的分頁類擴(kuò)展,感覺其實(shí)是沒有必要。
在現(xiàn)有的基礎(chǔ)上做了一下小小的改動(dòng)還是能實(shí)現(xiàn)的。
下面進(jìn)入正題:
CI的原生分頁類中有一個(gè)參數(shù) $config[anchor_class]
這個(gè)參數(shù)是用來設(shè)置分頁鏈接的樣式的,所以我們可以設(shè)置成這樣:
$config[anchor_class] = "class=ajax_fpage";
然后在view部分這樣采用禁止a便簽?zāi)J(rèn)動(dòng)作的方法來取得AJAX的調(diào)取效果。
代碼如下:
<script>
$(.ajax_fpage).click(function(e){
var url = $(this).attr(href);
$.get(url,{},function(res){
$(#show_what_table).html(res);
});
event.preventDefault();
});
</script>
當(dāng)ajax_fpage點(diǎn)擊的時(shí)候,禁止a標(biāo)簽的默認(rèn)動(dòng)作,并得到href信息,然后用get方法取得href的內(nèi)容,并更新dom.
這樣一個(gè)完整的ajax分頁就實(shí)現(xiàn)了。從而不需要對原始的類進(jìn)行擴(kuò)展了。
詳細(xì)的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);
}
在現(xiàn)有的基礎(chǔ)上做了一下小小的改動(dòng)還是能實(shí)現(xiàn)的。
下面進(jìn)入正題:
CI的原生分頁類中有一個(gè)參數(shù) $config[anchor_class]
這個(gè)參數(shù)是用來設(shè)置分頁鏈接的樣式的,所以我們可以設(shè)置成這樣:
$config[anchor_class] = "class=ajax_fpage";
然后在view部分這樣采用禁止a便簽?zāi)J(rèn)動(dòng)作的方法來取得AJAX的調(diào)取效果。
代碼如下:
復(fù)制代碼 代碼如下:
<script>
$(.ajax_fpage).click(function(e){
var url = $(this).attr(href);
$.get(url,{},function(res){
$(#show_what_table).html(res);
});
event.preventDefault();
});
</script>
當(dāng)ajax_fpage點(diǎn)擊的時(shí)候,禁止a標(biāo)簽的默認(rèn)動(dòng)作,并得到href信息,然后用get方法取得href的內(nèi)容,并更新dom.
這樣一個(gè)完整的ajax分頁就實(shí)現(xiàn)了。從而不需要對原始的類進(jìn)行擴(kuò)展了。
詳細(xì)的PHP代碼如下:
復(fù)制代碼 代碼如下:
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);
}
您可能感興趣的文章:
- 完美解決Could not load file or assembly AjaxPro.2 or one of its dependencies. 拒絕訪問。
- 如何讓CI框架支持service層
- php CI框架插入一條或多條sql記錄示例
- php ci框架中加載css和js文件失敗的原因及解決方法
- CI框架中zip類應(yīng)用示例
- CI框架中集成CKEditor編輯器的教程
- 教你如何在CI框架中使用 .htaccess 隱藏url中index.php
- CI框架開發(fā)新浪微博登錄接口源碼完整版
- php ci框架中加載css和js文件失敗的解決方法
- ci檢測是ajax還是頁面post提交數(shù)據(jù)的方法
相關(guān)文章
php include的妙用,實(shí)現(xiàn)路徑加密
用這種方法比較繁瑣,只能隱藏后臺(tái)腳本的路徑,前端的腳本路徑仍然可以在源文件中看得到(baseref) 在地址欄上看到的地址都是index.php?xxxxxxxx2008-07-07php結(jié)合mysql與mysqli擴(kuò)展處理事務(wù)的方法
這篇文章主要介紹了php結(jié)合mysql與mysqli擴(kuò)展處理事務(wù)的方法,結(jié)合實(shí)例形式分析了php使用mysql與mysqli處理事務(wù)的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下2016-06-06php管理nginx虛擬主機(jī)shell腳本實(shí)例
這篇文章主要介紹了php管理nginx虛擬主機(jī)shell腳本的實(shí)現(xiàn)方法,以實(shí)例形式講述了通過PHP腳本管理nginx虛擬主機(jī)的方法,具有不錯(cuò)的借鑒價(jià)值,需要的朋友可以參考下2014-11-11