Ajax-pagination只触发一次

时间:2013-09-05 16:48:09

标签: cakephp

我根据官方文档实现了分页组件: http://book.cakephp.org/2.0/en/core-libraries/components/pagination.html

我还包括了ajax支持。基本上everthing工作正常,除了一件事:如果我从第1页切换到第2页,ajax-request将起作用,之后我从第2页切换到3而不是ajax-request将执行正常的Post-Request。所以ajax-thing只能工作一次。

我的控制器看起来像这样(简短形式):

public $components = array('Paginator', 'RequestHandler');
public $helpers = array('Js', 'Categorie');
....

$this->Paginator->settings = array(
    'limit' => '15'
);

没有更重要的是我的观点:( jquery包含在我的布局中......)

$this->Js->JqueryEngine->jQueryObject = 'jQuery';

$this->Paginator->options(array(
  'update' => '#paginate',
  'evalScripts' => true,
  'before' => $this->Js->get('#busy-indicator')->effect('fadeIn', array('buffer' => false)),
  'complete' => $this->Js->get('#busy-indicator')->effect('fadeOut', array('buffer' => false))
));
?>

<?php 
    echo $this->Html->image('indicator.gif', array(
    'id' => 'busy-indicator'
    ));     
?>

<div id="paginate">...display data...</div>

<?php
echo $this->Paginator->numbers();

echo $this->Paginator->prev('« Previous', null, null, array('class' => 'disabled'));
echo $this->Paginator->next('Next »', null, null, array('class' => 'disabled'));

echo $this->Paginator->counter();
?>

这就是......如前所述:Switch Page 1&gt; 2将起作用,Switch Page 2-3将执行正常的POST请求,Switch 3-4将起作用,因此一个......

有点奇怪,所以任何想法?顺便说一句。我尝试了不同的jquery版本没有任何影响(目前我使用的是2.0.3 ......)

谢谢 - 祝你好运 Teyhouse

1 个答案:

答案 0 :(得分:0)

在这种情况下,您只需要:

<?php echo $this->Js->writeBuffer(); ?>

在你的app / View / Layouts / ajax.ctp文件中。