如何获取所选下拉列表项的值并将其发布到控制器?

时间:2019-03-27 04:14:21

标签: php yii

我是Yii的新手,所以我并不了解!我想知道如何在控制器中获取所选项目吗?

我有模型,视图和控制器。

这是我的观点

<?php

use app\models\kafedra\distance;

use yii\helpers\Html;

$items = ['1 курс','2 курс','3 курс','4 курс'];
$form = \yii\bootstrap\ActiveForm::begin(['method'=>'post', 'id'=>'courses','action'=>'spisgrp']);
echo $form->field($model,'status')->dropDownList($items,array(
    'onchange'=>'this.form.submit()',
    'prompt'=>'Выберите курс'
));
\yii\bootstrap\ActiveForm::end();
?>

这是我的模特

<?php

namespace app\models\kafedra\distance;

use Yii;
use yii\base\Model;

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

class Distance extends Model{
   public $status;
   public function rules(){
       return array(
           array('status','required')
       );
   }
}

这是我的控制器

class DistanceController extends Controller{

    public function actionIndex(){   
        $model = new Distance();
        return $this->render('index',array(
            'model' => $model
        ));
    }

     public function actionSpisgrp() {
         //What I must write here dude?
     }
}

问题是,我必须在Spisgrp函数中编写什么才能获取所选项目?我认为代码本身很简单,因此理解发生的事情没有困难!

1 个答案:

答案 0 :(得分:0)

我刚刚做到了。但是,如果有人为我提供建议,不胜感激!所以在actionSpisgrp()中我写了这个

$status = $_POST['Distance'];
         echo $status['status'];

至少它给了我课程的ID)))。所以有点对我有用。