Yii2 . FORM How to make dependant drop down. Where second drop downs values are dependant on first drop down selection
In form file :
In siteController.php file add a function like below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?= $form->field($model, 'country_id')->dropDownList(["5"=>'USA', "6"=>"Pakistan"], ['prompt'=>'Select Country', 'onchange'=>' $.get( "'.\yii\helpers\Url::toRoute('/site/getstates').'", { id: $(this).val() } ) .done(function( data ) { $( "#'.Html::getInputId($model, 'state_id').'" ).html( data ); } ); ','class' => 'form-control' ] ); ?> <?= $form->field($model, 'state_id') ->dropDownList( [ 'prompt'=>'Select State', ] ); ?> |
In siteController.php file add a function like below:
public function actionGetstates($id){ $states = StateProvince::find()->where( [ 'country_id'=>$id ] )->all(); $returnStr = ""; foreach ($states as $state){ $returnStr.="<option value='{$state->state_id}'>{$state->name}</option>"; } return $returnStr; }