在Yii2中,我有一个表单,其中包含两个依赖下拉列表,同时选择包含详细信息的div。我必须分配选定的值,如果它已提供,并且我已经为其分配了一个下拉列表,问题是如何为所选值分配第二个下拉列表。
<div class="col-sm-6">
<?= $form->field($SasModel, 'all_batch_id')->dropDownList(ArrayHelper::map(app\modules\course\models\Batches::find()->where(['is_status' => 0])->all(),'batch_id','batch_name', 'batchCourse.course_name'),
[
'options' => [$_GET['batchid'] => ['Selected'=>'selected']],
'prompt'=>'Select Batch',
'onchange'=>'
$.get( "'.Url::toRoute('subjectsallocatesem/studsection').'", { id: $(this).val() } )
.done(function( data ) {
$( "#'.Html::getInputId($SasModel, 'semester_id').'" ).html( data );
}
);
'
]);
?>
</div>
<div class="col-md-6">
<?= $form->field($SasModel, 'semester_id')->dropDownList(
[ 'prompt'=>'---Select Semester---' ],
[ 'onchange'=>'this.form.submit()' ]
); ?>
</div>
答案 0 :(得分:0)
在学期模型中创建方法:
public static function getBatchSemster( $batch_id = NULL)
{
if(!empty($batch_id)) {
$semester = self::find()->andWhere(['batch_id_in_semester_model' => $batch_id])->all();
$results = yii\helpers\ArrayHelper::map($semester, 'sem_id', 'sem_name');
return $results;
}
else {
return $results[];
}
}
更改表格:
<div class="col-md-6">
<?= $form->field($SasModel, 'semester_id')->dropDownList(SemesterModel::getBatchSemster($SasModel->all_batch_id),
[ 'prompt'=>'---Select Semester---' ],
[ 'onchange'=>'this.form.submit()' ],
); ?>
</div>