【发布时间】:2020-06-30 07:18:17
【问题描述】:
我是 yii 新手,我正在尝试使用依赖下拉列表作为教程
我的想法是通过一个表创建一个依赖下拉列表:
IntakeDetails [id, course_name, intake_no]
表格里面可以填写不同的摄入量,同一个课程名称。 然后我使用另一种带有下拉菜单(课程名称)和(摄入量)的表格。 (摄入)下拉菜单将显示从下拉菜单(课程名称)中选择的值。
我的表格:
<?= $form->field($model, 'course_name')->dropDownList(
ArrayHelper::map(IntakeDetails::find()->all(), 'course_name', 'course_name'),
[
'prompt'=>'Select course',
'onchange' => '
$.post(
"' . Url::toRoute('getoperations') . '",
{id: $(this).val()},
function(res){
$("#requester").html(res);
}
);
',
]); ?>
<?= $form->field($model,'intake_no')->dropDownList(
[],
[
'prompt' => 'Select intake',
'id' => 'requester'
]); ?>
还有控制器
public function actiongetoperations()
{
if (Yii::$app->request->post('course_name')) {
$operationPosts = IntakeDetails::find()
->select('intake_no')
->where(['course_name' => $model->course_name])
->count();
if ($operationPosts > 0) {
$operations = IntakeDetails::find()
->select('intake_no')
->where(['course_name' => $model->course_name])
->all();
foreach ($operations as $operation)
echo "<option value='" . $operation->intake_no. "'>" . $operation->intake_no . "</option>";
} else
echo "<option>-</option>";
}
即使我将值插入到数据库表中,表单也没有从所选下拉列表中提供任何值。那么,可以这样使用吗?如果是,请告诉我。我愿意学习。谢谢。
【问题讨论】: