Php 如何从dropdownlist、radiolist和复选框列表中获取值
Helli我有一个简单的表单,在我的表中插入数据,问题是我不知道如何: 1) 获取所选dropdownlist项的字符串值; 2) 获取所选单选元素的字符串值 3) 获取所选复选框的类似smthng的字符串数组; 这是表格Php 如何从dropdownlist、radiolist和复选框列表中获取值,php,web,yii2,Php,Web,Yii2,Helli我有一个简单的表单,在我的表中插入数据,问题是我不知道如何: 1) 获取所选dropdownlist项的字符串值; 2) 获取所选单选元素的字符串值 3) 获取所选复选框的类似smthng的字符串数组; 这是表格 <?php $form = ActiveForm::begin(); ?> <?= $form->field($model, 'first_name') ?> <?= $form->field($mo
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'first_name') ?>
<?= $form->field($model, 'last_name') ?>
<?= $form->field($model, 'gender')->radioList([
1 => 'Male',
2 => 'Female'
]) ?>
<?= $form->field($model, 'faculty')->dropdownList([
1 => 'Faculty of Information Technology',
2 => 'Faculty of Math Science',
3 => 'Faculty of Ukrainian Literature',
4 => 'Faculty of Health'
]) ?>
<?= $form->field($model, 'languages')->checkboxList([
1 => 'Java',
2 => 'C++',
3 => 'C#',
4 => 'Python',
5 => 'PHP',
6 => 'Java Script'
]) ?>
<div class="form-group">
<?= Html::submitButton('Submit', ['class' => 'btn btn-primary']) ?>
</div>
<?php ActiveForm::end(); ?>
所以问题是,表单接受后插入db的值是选定值的索引,但我需要值来从下拉列表中获取字符串值,您应该使用字符串作为数组中的索引,例如:
<?= $form->field($model, 'faculty')->dropdownList([
'Faculty of Information Technology' => 'Faculty of Information Technology',
'Faculty of Math Science' => 'Faculty of Math Science',
'Faculty of Ukrainian Literature' => 'Faculty of Ukrainian Literature',
'Faculty of Health' => 'Faculty of Health'
]) ?>
鉴于此,请使用:
<?= $form->field($model, 'languagesIds')->checkboxList([
1 => 'Java',
2 => 'C++',
3 => 'C#',
4 => 'Python',
5 => 'PHP',
6 => 'Java Script'
]) ?>
从post数据加载模型后,
$model->languageSID
将填充选中的值。如果您希望使用字符串数组,请将索引(1,2,3,4..)替换为字符串,如第1点和第2点。必须具有与视图中使用的结构等效的结构。。submit只返回索引,而不返回相关的描述您是否尝试过删除表单中的索引?我仍然对复选框有问题,我在ActiveRecord类中创建了数组,但当我尝试像$arr=$model->languagesIds这样获取索引时,我总是有一个空的数组来添加此规则['languagesIds',safe'],
到ActivRecord中的规则,或者如果需要-到必需的数组规则。
public $languagesIds = [];
<?= $form->field($model, 'languagesIds')->checkboxList([
1 => 'Java',
2 => 'C++',
3 => 'C#',
4 => 'Python',
5 => 'PHP',
6 => 'Java Script'
]) ?>