파일에 ajaxLink()
을 사용하는 CListView
이 있습니다.Yii ajaxLink()는 한 번만 작동합니다.
보기 (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)); ?>
컨트롤러는 기본적으로 GII 생성됩니다 단지 기본 actionIndex()
입니다.
여기에 문제가 있습니다. 페이지로드 후 처음으로 Delete
링크를 클릭하면 예상대로 작동합니다. 그 후 Delete
을 클릭해도 아무런 변화가 없습니다. (이리스트 뷰를 새로 있지만 변경되지 않습니다.)
나는 문제가 YII 자바 스크립트 내 링크에 click()
이벤트를 결합하는 방법에있다 확신 해요,하지만 난 그것을 해결하는 방법을 모른다. live=true
옵션을 사용하여 다른 사람들이 제안한대로 시도했지만 아무 것도 수행하지 않습니다.
누구든지 페이지를 다시로드하지 않고도 내 삭제 링크가 여러 번 작동하도록이 문제를 해결하는 방법을 알고 있습니까?
좋은 제안이며 사용자 지정 처리기를 작성하는 데 도움이됩니다. 다행히도, 나는 코드에서 어리석은 실수를 고쳤다. 어쨌든 당신을 뽑았습니다. – penco