2013-02-12 78 views
4

我在Yii中使用jQuery扩展了CGridView,以便在切换页面时记住检查的行。这些页面使用AJAX加载,所以我认为当请求完成并呈现新页面时,我希望我的代码能够步入一个魔法世界。但是,我似乎无法找到任何文件,指示任何事件被解雇或等新页面完成呈现时。Yii CGridView分页上的javascript事件

但是我可以使用DOM监听器,但我觉得最好在整个页面中使用一个事件。

回答

10

您可以使用afterAjaxUpdate(因为您的网页加载阿贾克斯):

$this->widget('zii.widgets.grid.CGridView', array(
    // ... options ... 
    'ajaxUpdate'=>true, 
    'afterAjaxUpdate'=>'aFunctionThatWillBeCalled', // 
    // ... more options ... 
)); 

您可以添加js函数像这样:

Yii::app()->clientScript->registerScript('some-script-id','function aFunctionThatWillBeCalled(id, data){ 
    console.log("id is "+id); 
    // your jquery code to remember checked rows 
}'); 
+1

伟大的作品,谢谢! – 2013-02-12 18:11:42

+0

我是'yii'世界的新手,你能否完全解释我的代码 'Yii :: app() - > clientScript-> registerScript('some-script-id','function aFunctionThatWillBeCalled(id,data){我的jQuery代码记得检查行 }');' – 2014-08-30 11:12:59

+0

@UlugbekKomilovich,我一定会解释,但首先你必须告诉我那些线路怎么样你不明白吗? – 2014-09-01 15:17:43