Reputation: 2133
I am using cakephp 2.0 and trying to create ajax paging which i cant in the documentation i read that passing this
$this->Paginator->options(
array('update'=>'#box',
'evalScripts' => true,
'before' => $this->Js->get('#loaderIDast')->effect('fadeIn', array('buffer' => false)),
'complete' => $this->Js->get('#loaderIDast')->effect('fadeOut', array('buffer' => false)),
))
in the view will make paginaton helper to create ajax link which in my case doesnt. I am using jQuery engine here.
On digging the library files i came across that paginator is using the event function which is making this
jQuery("#link-969794460").bind("click", function (event) {jQuery.ajax({beforeSend:function (XMLHttpRequest) {jQuery("#loaderIDast").fadeIn();}, complete:function (XMLHttpRequest, textStatus) {jQuery("#loaderIDast").fadeOut();}, dataType:"html", evalScripts:true, success:function (data, textStatus) {jQuery("#box").html(data);}, url:"\/admin\/user\/manage_user\/sort:User.name\/direction:asc"}); return false;});
and this is somehow not returned in event call.I dont know why any one have an idea what i am missing?
Regards Himanshu Sharma.
Upvotes: 0
Views: 9561
Reputation: 11
I had same problem but in my case the id of the div tag in layout file was wrong. It should be "content".
Upvotes: 1
Reputation: 1497
Please don't forget to add the $this->Paginator->numbers() after you tell pagination helper that you want a javascript link instead of plain html
<?php
$this->Paginator->options(array(
'update' => '#content',
'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->Paginator->numbers();?>
Upvotes: 1
Reputation: 24969
Actually, there are example in the book here. Look for the Ajax Pagination section. Make sure to follow all of the directions and it'll work.
You need:
$this->Js->writeBuffer()
) in your view/layout. It'd suggest putting this in your view unless you load the Js helper in your AppController
because otherwise $this->Js
won't be defined.The example in the book uses jQuery and works.
Upvotes: 4