2013-09-05 7 views
0

я реализовал нумерации страниц-компоненты в соответствии с официальной документацией: http://book.cakephp.org/2.0/en/core-libraries/components/pagination.htmlAjax-пагинация вызывает только один раз

Я также включил АЯКС-поддержку. В принципе все работает отлично, за исключением одного: если я переключусь со страницы 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 Страница 1-> 2 будет работать, Switch Страница 2-3 сделает обычный POST-запрос, Switch 3-4 будет работать, и поэтому один ...

Немного странно, поэтому Есть идеи? Btw. я пробовал разные Jquery-версию без какого-либо эффекта (в настоящее время я использую 2.0.3 ...)

Спасибо - С наилучшими пожеланиями Teyhouse

+1

Сохраняется ли ваша JS при обновлении DOM или является частью обновленной DOM и поэтому удаляется и повторно вставляется? После обновления, имеет ли указанный элемент связанные события? (check with i.e. alert (element.onclick) ') Возможно, вам нужно настроить делегирование событий JQuery. – user221931

+0

Привет, спасибо за ваш ответ - я почти собирался реализовать свою вещь, но оказалось, что я пропустил писать в буфер в конце моих файлов ... так что если у кого-то такая же проблема: Check если у вас есть эта строка внизу кода: Js-> writeBuffer(); ?> – Teyhouse

ответ

0

В этом случае вам просто необходимо также иметь:

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

В вашем приложении/View/Layouts/ajax.ctp файле.

Смежные вопросы