我正在使用 jQuery 在 Yii 中扩展 CGridView 以在切换页面时记住选中的行。页面是使用 AJAX 加载的,所以我认为当请求完成并呈现新页面时,我希望我的代码能够介入,这很神奇。但是,我似乎找不到任何文档表明任何事件被触发,或者当新页面完成呈现时。
但是,我可以使用 DOM 侦听器,但我认为对整个页面使用一个事件会更好。
我正在使用 jQuery 在 Yii 中扩展 CGridView 以在切换页面时记住选中的行。页面是使用 AJAX 加载的,所以我认为当请求完成并呈现新页面时,我希望我的代码能够介入,这很神奇。但是,我似乎找不到任何文档表明任何事件被触发,或者当新页面完成呈现时。
但是,我可以使用 DOM 侦听器,但我认为对整个页面使用一个事件会更好。
您可以使用afterAjaxUpdate
(因为您的页面是用 ajax 加载的):
$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
}');