yii当我们通过ajax请求删除记录时,CListView没有更新

时间:2013-01-31 04:31:59

标签: yii

这里我使用ajax请求从clistview中删除记录,记录正在成功删除,但是如果我们刷新页面然后只有记录从clist视图中删除,则列表视图不会更新,这里的任何一个帮助都是我的代码

<?php
echo CHtml::link(CHtml::encode('Delete'), $this->createUrl('delete', array('id' => $data['id'])), array(// for htmlOptions
            'onclick' => ' {' . CHtml::ajax(array(
            'type'=>'POST',
            'beforeSend' => 'js:function(){if(confirm("Are you sure you want to delete?"))return true;else return false;}',
            'url'=>$this->createUrl('delete', array('id' => $data['id'],'ajax'=>'delete')),
            'complete'=>'js:function(jqXHR, textStatus){$.fn.yiiListView.update("firstlist");}'
            )) .
            'return false;}', // returning false prevents the default navigation to another url on a new page 
            )
        );

这是clistview的代码

<?php $this->widget('zii.widgets.CListView', array(
            'id' => 'firstlist', 
            'dataProvider'=>$dataProvider,
            'itemView'=>'_beneview',
            'enablePagination' => false,
            'summaryText' => '',

)); ?>

2 个答案:

答案 0 :(得分:1)

您可以将CHtml::ajaxLink用于ajax请求,但您的方式也可以。 我已经过滤了CListView结果并启用了分页,您可以查看更新this link上的列表视图的主要内容

请检查查看部分并更新脚本部分。 希望他的帮助。

答案 1 :(得分:0)

使用CGridView,您可以添加CButtonColumn