程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 解析CI的AJAX分頁 另類實現方法

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

編輯:關於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);
    });
    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);
    }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved