2011-12-29 11 views
1

過去兩天我遇到了一個Zend分頁程序問題。動態更改zend分頁符的結果

我的HTML側

我有上單擊這些複選框4個複選框表格的形式將提交使用jQuery,並基於該值的Zend分頁程序的結果將occour我的問題是如何提交表單時,分頁鏈接(1 2 3 ..),因爲它是一個url

<form name="frm_submit" id="frm_submit" action="" method="post"> 
<input type="text" name="search" id="search" /> 
    <input type="checkbox" name="opt1" id="opt1" /> 
    <input type="checkbox" name="opt2" id="opt2" /> 
    <input type="checkbox" name="opt3" id="opt3" /> 
    <input type="checkbox" name="opt4" id="opt4" /> 
</form> 

/**Controller/Action**/ 
$searchdata = $this->someFun($checkboxval,$searchtextboxval); //A function returning some data based on the checkbox value 
$paginator = Zend_Paginator::factory($searchdata); 
$paginator->setItemCountPerPage(10); 
$paginator->setCurrentPageNumber($page); 
$this->view->paginator = $paginator; 

的問題是我不能讓在服務器端的複選框值,當用戶點擊一個分頁鏈接(例如1 2 3下一頁) ?我怎樣才能做到這一點 ?

回答

1

1)添加屬性value你輸入複選框,持有頁面的要顯示的號碼,即:)點擊複選框的值添加到URL作爲PARAM

<input type="checkbox" name="opt1" id="opt1" value="1" /> 

2:

URL?page=1 

3)檢索頁PARAM在控制器動作,並將其傳遞給分頁程序:

$params = $this->getRequest()->getParams(); 
if (isset($params['page'])) 
    $page = $params['page']; 
else 
    $page = 1; 
$paginator->setCurrentPageNumber($page); 
+0

Ť他的價值已經通過jQuery給它,它的工作正常..我的問題是,當用戶點擊導航鏈接(前1 2 3 ...下一個)等我如何獲得複選框的值。 – coolguy 2011-12-29 10:26:03

+0

我不完全理解UI的邏輯 - 用戶需要點擊複選框或鏈接才能更改頁面? – 2011-12-29 11:33:06

+0

是的..NP ...我解決了問題...我不得不使用會話,雖然我討厭它 – coolguy 2011-12-30 03:33:48