1

在过去的两天里,我对 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.)时,我无法在服务器端获取复选框值?我怎样才能做到这一点 ?

4

1 回答 1

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);
于 2011-12-29T07:55:43.600 回答