Что ж, вам нужно привязать событие change
к первому раскрывающемуся списку, используя javascript / jquery, как показано ниже. добавьте сценарий поверх вашего представления и укажите id
для обоих раскрывающихся списков.
$this->registerScript("
$('#navigation_type').on('change',function(){
if($(this).val() == 'Module'){
$('#showInUrl').val(0);
}else{
$('#showInUrl').val(1);
}
});",\yii\web\View::POS_END);
<?= $form->field($model, 'navigation_type')->dropdownList(['Module'=>'Module','Screen'=>'Screen'],['id'=>'navigation_type']) ?>
<?= $form->field($model, 'showInUrl')->dropdownList([0=>'No',1=>'Yes'],['id'=>'showInUrl' ])?>
Помимо вышеприведенного решения, вы должны изучить DepDropDown by kartik , который сводит ваши усилия к
максимум, и вам просто нужно интегрировать, и это прекрасно работает.