0

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

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

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

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->2 将工作,Switch Page 2-3 将执行正常的 POST-Request,Switch 3-4 将工作等等......

有点奇怪,有什么想法吗?顺便提一句。我尝试了不同的 jquery-versions 没有任何效果(目前我使用的是 2.0.3 ...)

谢谢 - 最好的问候 Teyhouse

4

1 回答 1

0

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

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

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

于 2014-04-15T13:44:37.603 回答