加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Yii2:更新后的Kartik Depdrop Widget默认值?

发布时间:2020-12-13 16:55:48 所属栏目:PHP教程 来源:网络整理
导读:我正在使用Kartik Depdrop小部件. 一切正常,除非在我没有选择创建新记录的值的情况下,在更新时,依赖字段应该显示请选择,而它在下拉列表中显示第一个值,并在更新时保存,而我希望“请选择”的值,即使在更新时也可以保存,具体取决于具体情况. 示例 – 我选择与
我正在使用Kartik Depdrop小部件.

一切正常,除非在我没有选择创建新记录的值的情况下,在更新时,依赖字段应该显示请选择,而它在下拉列表中显示第一个值,并在更新时保存,而我希望“请选择”的值,即使在更新时也可以保存,具体取决于具体情况.

示例 – 我选择与房间类别相关的值是包,也可以为空.所以我没有在依赖字段包中选择任何值.但是当我来更新表单时,默认情况下显示下拉列表中的第一个值,而我想请选择默认值.

怎么能纠正这个?

$form->field($model,'package')->widget(DepDrop::classname(),[                            
   'data'=>ArrayHelper::map(appmodelsPackage::find()->all(),'id','package_name' ),'pluginOptions'=>[
   'depends'=>['room_category'],'placeholder'=>'Select...','url'=>  yiihelpersUrl::to(['patient-detail/subcat']),]
    ])

注意:如果我在创建的从属下拉列表中选择一个值,则更新时的值正确显示.

解决方法

这对我来说很有用.

查看文件

<?php echo $form->field($model,'area_parent_id')->dropDownList(AreaCode::getProvinceOption(),['prompt' => 'select...','id' => 'parent_id']); ?>

<?php echo Html::hiddenInput('selected_id',$model->isNewRecord ? '' : $model->area_id,['id'=>'selected_id']); ?>

<?php echo $form->field($model,'area_id')->widget(kartikdepdropDepDrop::classname(),[
    'options' => ['id' => 'area_id','class' => '','style' => ''],'pluginOptions' => [
        'depends' => ['parent_id'],'placeholder' => 'select...','initialize' => $model->isNewRecord ? false : true,'url' => Url::to(['/area-code/subcat']),'params'=> ['selected_id'],],]); ?>

控制器文件

public function actionSubcat()
{
    $out = [];
    if (isset($_POST['depdrop_all_params'])) {
        $parent_id = $_POST['depdrop_all_params']['parent_id'];
        $selected_id = $_POST['depdrop_all_params']['selected_id']; 
        $out = AreaCode::find()->select(['id','name'])->where(['parent_id' => $parent_id])->asArray()->all();
        return yiihelpersJson::encode(['output' => $out,'selected' => $selected_id]);
    }

    return yiihelpersJson::encode(['output' => '','selected' => '']);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读