yii2 - 如何使用初始数据将 kartik depdrop 重置为初始状态
问题描述
我的项目中有一个 depdrop
<?= $form->field($model, 'neighborhood_id')->widget(Select2::classname(), [
'data' => ArrayHelper::map($query,'id','placeWithCity'),
'options' => ['placeholder' => 'Select Your Neighborhood','id'=>'select_place'],
])->label(false); ?>
和
<?=$form->field($model, 'building_id')->widget(DepDrop::classname(), [
'data' =>ArrayHelper::map(Buildings::find()->all(),'id','buildingWithPlace'),
'options' => ['placeholder' => 'Select The Building','id'=>'select_building'],
'type' => DepDrop::TYPE_SELECT2,
'pluginOptions' => [
'depends' => ['select_place'],
'url'=>Url::to(['property-commercial-rent/buildings']),
'loadingText' => 'Loading buildings ...',
]
])->label(false);?>
第二个下拉列表取决于第一个。最初它们都有完整的数据列表而没有任何过滤。当我在第一个下拉列表中选择一个社区时,第二个将填充该社区下的建筑物名称。然后我有一个像重置按钮一样的动作
$( "#reset-location" ).click(function() {
$(select_place).val('').trigger('change');
$(select_building).val('').trigger('change');
});
而这个点击重置两个选择。但问题是建筑物只有以前选择的社区下的项目。我想让它像初始阶段一样。我该怎么做
解决方案
您不需要重置按钮。在附近的领域允许清除,所以它会是这样的
<?= $form->field($model, 'neighborhood_id')->widget(Select2::classname(), [
'data' => ArrayHelper::map($query,'id','placeWithCity'),
'options' => ['placeholder' => 'Select Your Neighborhood','id'=>'select_place'],
'pluginOptions' => [
'allowClear' => true
],
])->label(false); ?>
然后将有斧头在该领域清除它。
推荐阅读
- botframework - Bot Framework 更改表单提示信息
- java - 实践中的约束布局看起来与 Android Studio 中的不同
- php - 使用 PDO 从两个表中获取数据
- python - Python/Flask-WTF - 如何随机化动态 RadioField 的选择?
- jquery - 单击 TH 子项时不对 Tablesorter 进行排序
- python-3.x - 使用 Python 3.6 访问隐藏标签、网页抓取
- arduino - LED_BUILTIN 的模拟写入不起作用
- java - 从 ANT 脚本中的另一个清单复制后更改清单中的属性值
- rselenium - Rselenium - Javascript/HTML
- python - m2crypto 中未定义的 sslv3_method