Php 如何使用枚举添加dropdownlist中选择的默认值?

Php 如何使用枚举添加dropdownlist中选择的默认值?,php,drop-down-menu,yii2,yii2-advanced-app,Php,Drop Down Menu,Yii2,Yii2 Advanced App,我是yii2的新手,正在尝试四处走动。我有一个dropdownlist,它在数据库中的值是enum。因此,创建crud时,dropdownlist具有枚举值 但是我想在下拉列表中保留一个默认值。 我的表格代码如下: 我希望选择medium作为选定值,而不是提示符。有人能帮我吗 谢谢。在控制器中初始化$model实例后,设置属性,然后将$model传递给视图 $model->priority_level = 'medium'; 正如@Bizley所说,您需要在控制器中设置属性的值。在Yi

我是yii2的新手,正在尝试四处走动。我有一个dropdownlist,它在数据库中的值是enum。因此,创建crud时,dropdownlist具有枚举值

但是我想在下拉列表中保留一个默认值。 我的表格代码如下:

我希望选择medium作为选定值,而不是提示符。有人能帮我吗


谢谢。

在控制器中初始化$model实例后,设置属性,然后将$model传递给视图

$model->priority_level = 'medium';

正如@Bizley所说,您需要在控制器中设置属性的值。在Yii2中,您可以在一行中完成此操作:

public function actionSomething {
    $model = new MyClass(['priotiy_level' => 'medium']);

    // code

    return $this->render('something', [
        'model' => $model
    ]);
}

交给您的下拉列表


使用Java脚本或Jquery提供默认值


$(“.priority_list”).val('medium');//使用jquery分配值
您还可以使用ID:


var temp=document.getElementById('project-industry_id');
温度值='中等';

除了前面的答案之外,您还可以使用
默认值
验证器:

class SomeActiveRecord extends ActiveRecord {

    // ...
    function rules(){

        return [
            ['priotiy_level', 'default', 'value' => 'medium']

            // set "username" and "email" as null if they are empty
            [['username', 'email'], 'default'],

            // set "level" to be 1 if it is empty
            ['level', 'default', 'value' => 1],
        ];

    }

}
更多详细信息请参见此处:


此代码为所有操作/表单设置默认值。如果您需要不同表单上的不同默认值,也可以使用。

尝试过。但它仍然没有选择介质作为默认值。你这方面一定有问题。公共函数actionCreate(){$model=newtasks();if($model->load(Yii::$app->request->post()){$model->start_date=date('Y-m-d');//获取默认日期$model->priority_level='medium';$model->save();返回$this->重定向(['view','id'=>$model->Task_id]);}否则{return$this->render('create',['model'=>$model,]);}}初始化是
$model=新任务;
所以在这一行之后。
<script>
$(".priority_list").val('medium'); // assing value using jquery
</script>
 <script>
    var temp=document.getElementById('project-industry_id');
    temp.value='medium';
    </script>
class SomeActiveRecord extends ActiveRecord {

    // ...
    function rules(){

        return [
            ['priotiy_level', 'default', 'value' => 'medium']

            // set "username" and "email" as null if they are empty
            [['username', 'email'], 'default'],

            // set "level" to be 1 if it is empty
            ['level', 'default', 'value' => 1],
        ];

    }

}