在 yii 中编辑时的依赖下拉列表

dependent dropdown when edit in yii

在我的 yii 应用程序中编辑时,相关下拉菜单出现问题。 编辑时,不会自动选择下拉列表。

在我看来,

array('class' => 'CButtonColumn',
    'header' => 'Manage',
    'template' => '{update} {view}  {delete}',
    'htmlOptions' => array('width' => '20%'),
    'buttons' => array(
        'update' => array(
            'label' => '',
            'imageUrl' => '',
            'options' => array('class' => 'glyphicon glyphicon-pencil'),
        ),
        'view' => array(
            'label' => '',
            'imageUrl' => '',
            'options' => array('class' => 'glyphicon glyphicon-eye-open'),
        ),
        'delete' => array(
            'label' => '',
            'imageUrl' => '',
            'options' => array('class' => 'glyphicon glyphicon-remove'),
        ),
    ),
),
<div class="form-group">
    <label for="reg_input" class="req">Course</label>
    <?php
    $course = CHtml::listData(Course::model()->findAll(), 'courseid', 'course_name');
    echo CHtml::activeDropDownList($model, 'courseid', $course, array(
        'empty' => 'Select Course', 'class' => "form-control",
        'ajax' => array(
            'type' => 'POST',
            'url' => CController::createUrl('Assignment/Fetchbatch'),
            'update' => '#' . CHtml::activeId($model, 'batchid'))));
    ?>
    <?php echo $form->error($model, 'courseid', array('class' => 'school_val_error')); ?>  
</div>  
<div class="form-group">
    <label for="reg_input" class="req">Batch</label>
    <?php
     $batch = CHtml::listData(Batch::model()->findAll(), 'batchid', 'batch_name');
    echo $form->dropDownList($model, 'batchid', $batch, array('prompt' => 'Select Batch',
        'class' => "form-control",
        'ajax' => array(
            'type' => 'POST',
            'url' => CController::createUrl('Assignment/Fetchsubject'),
            'update' => '#' . CHtml::activeId($model, 'subjectid'))));
    echo $form->error($model, 'batchid', array('class' => 'school_val_error'));
    ?>
</div> 

第二个下拉列表获取数据,以更改第一个下拉列表。在这种情况下,不会自动选择下拉菜单。因为在编辑时,那个值不存在。所以我解决了这个问题,我的代码在上面。