我正在尝试从注册表单获取所选下拉菜单的值。我需要将该值存储在db中。 下拉代码为。
<?= $form->field($model, 'sex')->dropDownList(['1' => 'Male', '2' => 'Female'],['prompt'=>'Select Gender...'] )?>
我在这里尝试使用属性'sex []'。但这没有帮助。
我已尝试在具有发布请求的控制器中使用。
$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>";
但这些都不是在提交后打印出的。 它包含着性的价值。这是print_r($ post)结果 [sex] => 1,但如果在下拉列表中使用'sex []',则会显示类似[sex] => array([0] => 1)
答案 0 :(得分:1)
如果要选择多个选项,请确保将其创建为数组形式为Property 性别[]
像这样
<?= $form->field($model, 'sex[]')->dropDownList(['1' => 'Male', '2' => 'Female'],['prompt'=>'Select Gender...'] )?>
然后将其加载到模型
$model->load(Yii::$app->request->post())
应该是
$model->sex
(这是一个数组)。
如果您只想选择一个选项
你必须有这样的东西
<?= $form->field($model, 'sex')->.... ?>
您的答案将是$ model->性别(即1或2)