2011-02-04 23 views
1

根據JQuery pagination plugin's文件中的回調定義。它似乎只能得到它自己的兩個參數。所以,我怎樣才能將額外的參數傳遞給回調函數。如何將我自己的參數傳遞給JQuery分頁插件中的回調函數?

回調

被稱爲 當用戶點擊一個分頁鏈接 的回調函數。該函數接收兩個 參數:新頁索引和 分頁容器(一個DOM元素)。 如果回調返回false,則會停止 事件傳播。默認 value:function(){return false;}。此 回調函數對分頁的 功能是必不可少的!它 應該包含更新您的 內容的代碼。爲了獲得快速的用戶體驗 ,您不應通過此功能通過AJAX 加載內容。相反,預加載 一些內容頁面,並在 之間切換這個功能。

e.g插件使用[從演示]代碼:

附加分頁插件:

$("#News-Pagination").pagination(122, { 
    items_per_page:20, 
    callback:pageselectCallback 
}); 

回調函數:

/** 
    * Callback function that displays the content. 
    * 
    * Gets called every time the user clicks on a pagination link. 
    * 
    * @param {int}page_index New Page index 
    * @param {jQuery} jq the container with the pagination links 
    *     as a jQuery object 
    */ 
    function pageselectCallback(page_index, jq){ 
     var new_content 
     = $('#hiddenresult div.result:eq(' + page_index + ')').clone(); 
     $('#Searchresult').empty().append(new_content); 
     return false; 
    } 

非常感謝您!

回答

4

使用JS中常見的自定義包裝函數來實現該功能。

callback: function(jq1, jq2, ..., jqN) { 
    return pageselectCallback(your1, your2, jq1, jq2, ..., jqN); 
} 

這裏JQ1通過JQN是的jQuery插件分頁給出的參數,而your1your2是你自己指定的參數。

重要:以上是無效的JS語法由於省略號......, - 改變以匹配您的情況

+0

Alxandr你好,非常感謝你指出了這一點。 – 2011-07-27 12:19:28

相關問題