过去两天,我对Zend的分页器问题感到震惊。
我的HTML方面
我有一个带有4个复选框的表单,点击任何这些复选框,表单将使用jquery提交并基于该值Zend paginator结果将出现我的问题是如何在分页链接时提交表单(1 2 3 .. )因为它是一个网址
<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 Next。)?我怎么能这样做?
答案 0 :(得分:1)
1)将属性value
添加到输入复选框,其中包含您要显示的页数,即:
<input type="checkbox" name="opt1" id="opt1" value="1" />
2)将点击的复选框的值添加到URL作为参数:
URL?page=1
3)在控制器操作中检索页面参数并将其传递给分页器:
$params = $this->getRequest()->getParams();
if (isset($params['page']))
$page = $params['page'];
else
$page = 1;
$paginator->setCurrentPageNumber($page);