複数の要素を含む CListView があります。これらの各要素には ajax リンクがあります。
最初は ajax リンクがうまく機能していましたが、CListView でページを切り替えると、ajax リンクが機能しなくなりました。
これが私のコントローラーです:
$dataProvider = News::model()->listeNews();
$this->renderPartial(
'_list',
array('dataProvider' => $dataProvider,),
false,
true
);
Yii::app()->end();
CListView:
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
'enablePagination'=>true,
//don't change the id, used to update the number of news to displau
'id'=>'list',
'cssFile' => Yii::app()->theme->baseUrl . '/css/widgets/listview/styles.css',
'template'=>"{pager}\n{items}\n{pager}",
'pager' => array(
'class' => 'PagerSA',
'cssFile'=>Yii::app()->theme->baseUrl . '/css/widgets/pager.css',
),
)); ?>
そしてアイテムビューの ajax リンク:
<?php echo CHtml::ajaxLink(
'<div class="nb_like" id="nb_like_'.$data->id.'">' . $data->like . '</div>',
array('news/like','id'=>$data->id, 'type'=>'like'),
array('update'=>'#nb_like_'.$data->id),
array('class'=>'btn_like', 'id'=> 'like_' . $data->id)
);?>
更新: ajax リクエストを見ると、javascript が渡されていることがわかりますが、何も変わりません
<script type="text/javascript">
/*<![CDATA[*/
jQuery('#list').yiiListView({'ajaxUpdate':['list'],'ajaxVar':'ajax','pagerClass':'pager','loadingClass':'list-view-loading','sorterClass':'sorter','enableHistory':false});
$('body').on('click','#like_2810',function(){jQuery.ajax({'url':'/index-local.php/news/like?id=2810&type=like','cache':false,'success':function(html){jQuery("#nb_like_2810").html(html)}});return false;});
/*]]>*/
</script>