5

ページを切り替えるときにチェックされた行を記憶するために jQuery を使用して Yii で CGridView を拡張しています。ページは AJAX を使用して読み込まれるため、リクエストが終了して新しいページがレンダリングされたら、コードをステップインして魔法を実行したいと考えました。ただし、新しいページのレンダリングが終了したときにイベントが発生したことを示すドキュメントが見つからないようです。

ただし、DOM リスナーを使用することもできますが、ページ全体に対して 1 つのイベントを使用する方がよいと考えました。

4

1 に答える 1

13

以下を使用できます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
}');
于 2013-02-12T17:52:14.193 に答える