如何使用枚举添加在下拉列表中选择的默认值?
How to add default value selected in dropdownlist with enum?
我是 yii2 的新手,正在尝试四处走动。我有一个下拉列表,其数据库中的值为枚举。因此,当创建 crud 时,下拉列表具有枚举值。
但我想在下拉列表中保留一个默认值。
我的表单代码如下:
<?= $form->field($model, 'priotiy_level')->dropDownList([ 'low' => 'Low', 'medium' => 'Medium', 'high' => 'High', ], ['prompt' => 'Select Priority Level']) ?>
我不想显示提示,而是希望将中等作为选定值。有人可以帮我吗?
谢谢。
在控制器中初始化 $model 实例后设置属性,然后将 $model 传递给视图。
$model->priority_level = 'medium';
正如@Bizley 所说,您需要在控制器中设置属性的值。在 Yii2 中,你可以在一行中完成:
public function actionSomething {
$model = new MyClass(['priotiy_level' => 'medium']);
// code
return $this->render('something', [
'model' => $model
]);
}
将 class 添加到您的 dropdownList :
例如。
<?= $form->field($model, 'priotiy_level')->dropDownList([ 'low' => 'Low', 'medium' => 'Medium', 'high' => 'High', ], ['class' => 'priority_list','prompt' => 'Select Priority Level']) ?>
使用Java脚本或Jquery
给出默认值
例如
<script>
$(".priority_list").val('medium'); // assing value using jquery
</script>
您也可以使用ID:
例如。
<script>
var temp=document.getElementById('project-industry_id');
temp.value='medium';
</script>
除了之前的答案,您还可以使用 default
验证器:
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],
];
}
}
更多详情见此处:Handling Empty Inputs。
此代码为所有 actions/forms 设置默认值。如果您需要在不同的表单上使用不同的默认值,也可以使用 scenarios of validation.
我是 yii2 的新手,正在尝试四处走动。我有一个下拉列表,其数据库中的值为枚举。因此,当创建 crud 时,下拉列表具有枚举值。
但我想在下拉列表中保留一个默认值。 我的表单代码如下:
<?= $form->field($model, 'priotiy_level')->dropDownList([ 'low' => 'Low', 'medium' => 'Medium', 'high' => 'High', ], ['prompt' => 'Select Priority Level']) ?>
我不想显示提示,而是希望将中等作为选定值。有人可以帮我吗?
谢谢。
在控制器中初始化 $model 实例后设置属性,然后将 $model 传递给视图。
$model->priority_level = 'medium';
正如@Bizley 所说,您需要在控制器中设置属性的值。在 Yii2 中,你可以在一行中完成:
public function actionSomething {
$model = new MyClass(['priotiy_level' => 'medium']);
// code
return $this->render('something', [
'model' => $model
]);
}
将 class 添加到您的 dropdownList :
例如。
<?= $form->field($model, 'priotiy_level')->dropDownList([ 'low' => 'Low', 'medium' => 'Medium', 'high' => 'High', ], ['class' => 'priority_list','prompt' => 'Select Priority Level']) ?>
使用Java脚本或Jquery
给出默认值例如
<script>
$(".priority_list").val('medium'); // assing value using jquery
</script>
您也可以使用ID:
例如。
<script>
var temp=document.getElementById('project-industry_id');
temp.value='medium';
</script>
除了之前的答案,您还可以使用 default
验证器:
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],
];
}
}
更多详情见此处:Handling Empty Inputs。
此代码为所有 actions/forms 设置默认值。如果您需要在不同的表单上使用不同的默认值,也可以使用 scenarios of validation.