0

取得したデータ (この場合: $arr) をビューに戻す方法 (テーブルに表示するように操作できます)。ajax経由で処理されるコントローラーアクションにこれがある場合:

public function actionFetchregularload(){
            $criteria = new CDbCriteria;
            $criteria->limit = 15;
            $criteria->condition='semester = 2';
            $criteria->select = array('subjCode','subjDesc','lec','lab','units');
            $criteria->addSearchCondition('yrLvl', $_GET['yrlevel']);
            $data = CompeProspectusA::model()->findAll($criteria);
            $arr = array();
            foreach ($data as $item){
                    $arr[] = array(
                            'subjcode' => $item->subjCode,
                            'subjdesc' => $item->subjDesc,
                            'lab' => $item->lab,
                            'lec' => $item->lec,
                            'units' => $item->units,
                    );
            }
    }
4

1 に答える 1

1

テーブルなどでビューを作成し、次のように使用renderPartial()します。actionFetchregularload()

$this->renderPartial('_table', array('arr'=>$arr), false, true);

メインビューでは、オプションで使用できCHtml::ajaxLinkます (「#contentdiv」はテーブル div の ID です):

CHtml::ajaxLink(
        "Update table",
        Yii::app()->createUrl('controller/fetchregularload'),
        array(    //ajaxOptions
            'type' => 'POST',
            'beforeSend' => "function(request) {
                $('#contentdiv').addClass('loading');   //add .loading class while loading - you can add background image
            }",
            'success' => "function(data) {
                $('#contentdiv').removeClass('loading');
                document.getElementById('contentdiv').innerHTML=data;
            }",
        ),
        //htmlOptions
        array('href' => Yii::app()->createUrl('controller/fetchregularload')); 
    );
于 2012-10-01T08:02:58.627 に答える