【发布时间】:2015-03-08 10:58:47
【问题描述】:
我正在使用 Kartik Depdrop 小部件。
除了在创建新记录时我没有选择值的情况外,一切正常在更新时保存,而我希望根据情况在更新时保存“请选择”的值,即 null。
示例 - 我选择了一个房间类别 - 依赖值是包,它也可以为空。所以我没有在依赖字段包中选择任何值。但是当我来更新表单时,下拉菜单中的第一个值默认显示,而我希望 please select 作为默认值。
如何解决这个问题?
$form->field($model, 'package')->widget(DepDrop::classname(), [
'data'=>ArrayHelper::map(\app\models\Package::find()->all(), 'id', 'package_name' ),
'pluginOptions'=>[
'depends'=>['room_category'],
'placeholder'=>'Select...',
'url'=> \yii\helpers\Url::to(['patient-detail/subcat']),
]
])
注意:如果我在创建时的相关下拉列表中选择一个值,则更新时的值显示正确。
【问题讨论】:
-
我认为您的问题可能是您已经为依赖下拉菜单设置了数据。据我了解,您只需为第一个下拉菜单设置数据,然后它使用 ajax 调用来获取后续下拉菜单的数据。
-
嗨乔·米勒,正如我所说,如果我在创建时选择数据,依赖下拉菜单工作正常。唯一的问题是,如果我在创建时没有从相关下拉列表中选择任何数据,那么在更新屏幕中会显示所有数据,并且第一个字段会占用该值并在更新时保存,而可接受的行为应该是如果在创建时没有选择数据,它应该在更新屏幕中显示
select。