CListView
ファイルで使用ajaxLink()
する があります_view
。
ビュー (index.php)
<?php
Yii::app()->clientScript->registerScript('ajaxUpdate',
"
//javascript function to update the listview using ajax
function updateItemList(){
$.fn.yiiListView.update('itemList');
return false;
}
", CClientScript::POS_READY);
?>
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
'id'=>'itemList',
)); ?>
部分 (_view.php)
<?php echo CHtml::ajaxLink('Delete',array('libdbitems/delete','id'=>$data->id),
array('type'=>'POST','success'=>'function(){updateItemList()}'),
array('confirm'=>'Are you sure you want to delete this item?',
'id'=>'delete-'.$data->id)); ?>
コントローラーは基本的に、actionIndex()
Gii で生成されるデフォルトにすぎません。
ここに問題がDelete
あります。ページの読み込み後に初めてリンクをクリックすると、期待どおりに動作します。その後、クリックしても何も起こりDelete
ません。(ListView を更新しますが、変更は行われません。)
問題は、Yii がイベントを JavaScript のリンクにバインドする方法にあると確信しclick()
ていますが、それを修正する方法がわかりません。他の人が提案したように、オプションを使用してみlive=true
ましたが、何もしません。
ページをリロードしなくても削除リンクが複数回機能するように、この問題を修正する方法を知っている人はいますか?