私はいくつかの問題を抱えています。基本的に、ステータスを管理するためにCGridView列にドロップダウンリストを作成しようとしています。onchange をデータベースにロードしたい。グリッド列は次のとおりです。
array(
'name'=>'status',
'type'=>'raw',
'value'=>'CHtml::dropDownlist(\'status\',\'\',array(\'1\'=>\'Complete\',
\'2\'=>\'Paid\',
\'3\'=>\'Not paid\'),array(
\'class\'=>\'status\',
\'options\'=>array($data->status=>array(\'selected\'=>\'selected\')),
\'ajax\'=>array(
\'type\' => \'POST\',
\'url\'=>Yii::app()->createUrl(\'user/orders/status\'),
\'data\'=>array(\'status\'=>\'js:this.value\',\'order\'=>$data->id),
)
));',
),
これがコントローラーアクションコードです
public function actionStatus()
{
if (isset($_POST['order'])){
$model=$this->loadModel($_POST['order']);
$model->status=$_POST['status'];
$model->save();
}
}
それで、問題は何ですか。ドロップダウンが変更された要素の id ではなく、最後の $data->id を取得しています。他のすべては正常に動作します。
多分それは簡単ですが、私は解決策を見つけることができません。