Yii2在依赖下拉列表上分配选定值

时间:2016-03-29 06:57:56

标签: javascript yii2

在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>

1 个答案:

答案 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>