Php Yii2-如何在操作更新时在depdrop子对象中显示选定值?
我使用了来自Kartik的扩展,用于创建依赖的下拉列表,称为DepDrop 我的从属模式摄政->地区->村庄 创建操作时,一切正常,运行良好,但更新操作时,在子下拉列表中不显示选定值 这里是我的视图代码:Php Yii2-如何在操作更新时在depdrop子对象中显示选定值?,php,yii2,Php,Yii2,我使用了来自Kartik的扩展,用于创建依赖的下拉列表,称为DepDrop 我的从属模式摄政->地区->村庄 创建操作时,一切正常,运行良好,但更新操作时,在子下拉列表中不显示选定值 这里是我的视图代码: <?= $form->field($model, 'fk_regencies_id')->dropDownList(ArrayHelper::map(Regencies::find()->all(),'id','name'), ['id'=>'regency_id
<?= $form->field($model, 'fk_regencies_id')->dropDownList(ArrayHelper::map(Regencies::find()->all(),'id','name'), ['id'=>'regency_id']);?>
<?= Html::hiddenInput($model->fk_districs_id, $model->fk_districs_id, ['id'=>$model->fk_districs_id]) ?>
<?= $form->field($model, 'fk_districs_id')->widget(DepDrop::classname(), [
'options'=>['id'=>'district-id'],
'pluginOptions'=>[
'depends'=>['regency_id'],
'placeholder'=>'Select...',
'url'=>Url::to(['/calonpegawai/district']),
'params'=>[$model->fk_districs_id]
]
]) ?>
我的模型:
public function getDistrictList($regency_id)
{
$data=\backend\models\Districts::find()
->where(['regency_id'=>$regency_id])
->select(['id','name' ])->asArray()->all();
return $data;
}
public function getDefaultDistrict($param1)
{
$data=\backend\models\Districts::find()
->where(['id'=>$param1])
->select(['id','name' ])->asArray()->all();
return $data;
}
在视图中添加:'data'=>[$key=>$value]
<?= $form->field($model, 'fk_regencies_id')->dropDownList(ArrayHelper::map(Regencies::find()->all(),'id','name'), ['id'=>'regency_id']);?>
<?= Html::hiddenInput($model->fk_districs_id, $model->fk_districs_id, ['id'=>$model->fk_districs_id]) ?>
<?= $form->field($model, 'fk_districs_id')->widget(DepDrop::classname(), [
'data' => [$model->fk_regencies_id=>$model->fk_regencies_id],
'options'=>['id'=>'district-id'],
'pluginOptions'=>[
'depends'=>['regency_id'],
'placeholder'=>'Select...',
'url'=>Url::to(['/calonpegawai/district']),
'params'=>[$model->fk_districs_id]
]
]) ?>
在视图中添加javascript:
$script = <<< JS
$("#regency_id").change(function(){
$("#district-id").depdrop({
depends: ['regency_id'],
url: '/calonpegawai/district'
});
}).change();
JS;
$this->registerJs$script
希望能为您提供帮助。您能从inspector发布浏览器请求日志吗?@meysam我已经添加了图像,响应ajaxIt的Yi2调试面板,请发送浏览器控制台的日志。在firefox中按Ctrl+Shift+K,在Chrome中按F12显示控制台。
$script = <<< JS
$("#regency_id").change(function(){
$("#district-id").depdrop({
depends: ['regency_id'],
url: '/calonpegawai/district'
});
}).change();