在 yii2 控制器中获取所选下拉选项的值
get value of selected dropdown option in yii2 controller
我正在尝试从注册表单中获取所选下拉菜单的值。我需要将该值存储在数据库中。
下拉代码是。
<?= $form->field($model, 'sex')->dropDownList(['1' => 'Male', '2' => 'Female'],['prompt'=>'Select Gender...'] )?>
我在这里尝试过 属性 'sex[]'。但它没有帮助。
我已经尝试在控制器中使用 post 请求。
$post=Yii::$app->request->post();
$chosen = Yii::$app->request->post('sex', '');
print_r($chosen);
print_r($post->sex);
echo "1:".$this->sex;
echo "<br>";
echo "2:".$this->sex;
echo "<br>";
echo "3:".$this->sex[0];
echo "<br>";
echo "4:".$this->sex[1];
echo "<br>";
但这些都没有打印 post 中提交的值。
它包含性的价值。这是 print_r($post) 结果
[sex]=>1 但如果是 use'sex[]' 在下拉菜单中显示类似 [sex]=>array( [0]=>1)
如果您想 select 多个,请确保将其创建为 属性 形式的数组
性别[]
像这样
<?= $form->field($model, 'sex[]')->dropDownList(['1' => 'Male', '2' => 'Female'],['prompt'=>'Select Gender...'] )?>
然后将其加载到您的模型中
$model->load(Yii::$app->request->post())
会是
$model->sex
(即数组)。
如果你想select只有一个选项
你必须有这样的东西
<?= $form->field($model, 'sex')->.... ?>
你的答案是 $model->sex(即 1 或 2)
我正在尝试从注册表单中获取所选下拉菜单的值。我需要将该值存储在数据库中。 下拉代码是。
<?= $form->field($model, 'sex')->dropDownList(['1' => 'Male', '2' => 'Female'],['prompt'=>'Select Gender...'] )?>
我在这里尝试过 属性 'sex[]'。但它没有帮助。
我已经尝试在控制器中使用 post 请求。
$post=Yii::$app->request->post();
$chosen = Yii::$app->request->post('sex', '');
print_r($chosen);
print_r($post->sex);
echo "1:".$this->sex;
echo "<br>";
echo "2:".$this->sex;
echo "<br>";
echo "3:".$this->sex[0];
echo "<br>";
echo "4:".$this->sex[1];
echo "<br>";
但这些都没有打印 post 中提交的值。 它包含性的价值。这是 print_r($post) 结果 [sex]=>1 但如果是 use'sex[]' 在下拉菜单中显示类似 [sex]=>array( [0]=>1)
如果您想 select 多个,请确保将其创建为 属性 形式的数组 性别[]
像这样
<?= $form->field($model, 'sex[]')->dropDownList(['1' => 'Male', '2' => 'Female'],['prompt'=>'Select Gender...'] )?>
然后将其加载到您的模型中
$model->load(Yii::$app->request->post())
会是
$model->sex
(即数组)。
如果你想select只有一个选项
你必须有这样的东西
<?= $form->field($model, 'sex')->.... ?>
你的答案是 $model->sex(即 1 或 2)