获取yii2控制器中所选下拉选项的值



我正在尝试从注册表单中获取所选下拉菜单的值。我需要将该值存储在db中。下拉代码为.

<?= $form->field($model, 'sex')->dropDownList(['1' => 'Male', '2' => 'Female'],['prompt'=>'Select Gender...'] )?>

我在这里尝试过"性爱"。但这无济于事。

我已经试过在控制器上发布请求。

$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>";

但这些都没有在提交的帖子中打印出vlaue。它包含性的价值。这是printr($post(结果[sex]=>1,但如果在下拉列表中使用"sex[]",则会显示类似[sex]=>数组([0]=>1(的内容

如果要选择多个,请确保在Property窗体中将其创建为数组性别[]

像这个

<?= $form->field($model, 'sex[]')->dropDownList(['1' => 'Male', '2' => 'Female'],['prompt'=>'Select Gender...'] )?>

然后将其加载到您的型号

$model->load(Yii::$app->request->post()) 

它将是

CCD_ 1(即一个数组(。

如果您只想选择一个选项

你一定有这样的

<?= $form->field($model, 'sex')->.... ?>

你的答案是$model->sex(即1或2(

最新更新