如何使用 select2 小部件 yii 制作依赖下拉列表
Posted
技术标签:
【中文标题】如何使用 select2 小部件 yii 制作依赖下拉列表【英文标题】:How to make dependent dropdown using select2 widget yii 【发布时间】:2016-01-26 16:58:24 【问题描述】:我想使用 select2 创建一个依赖下拉列表,但我无法更改下一个 dropdown($kabupaten)
的数据,这是我的代码:
<?php $this->widget('ext.select2.ESelect2', array(
'model' => $model,
'attribute' => 'provinsi',
'data' => $provinsi,
'htmlOptions' => array(
'style' => 'width:440px',
'prompt' => '-- Pilih Provinsi --',
'ajax' => array(
'type' => 'POST',
'url' => CController::createUrl('Kabupaten/SelectKabupaten'),
'class' => 'span5',
'update' => '#' . CHtml::activeId($model, 'kabupaten'),
)),));
$this->widget('ext.select2.ESelect2', array(
'model' => $model,
'attribute' => 'kabupaten',
'data' => $kabupaten,
'htmlOptions' => array(
'style' => 'width:440px',
'prompt' => '-- Pilih Kabupaten --',
),));?>
这是我的控制器:
public function actionSelectKabupaten()
$id_kabupaten = $_POST['DataDiriAnak']['provinsi'];
$kabupaten = CHtml::listData(Kabupaten::model()->findByAttributes(array('IDProvinsi'=>$id_kabupaten)), 'Nama', 'Nama');
我不知道如何将 $kabupaten
的值发送到我最后一个 select2 下拉列表
【问题讨论】:
请使用您尝试过的代码编辑您的问题。 对不起,我已经编辑了我的问题。 您可以在第一个下拉菜单中使用onChange
事件
能否给我代码示例,谢谢之前
【参考方案1】:
您可以通过编码CHtml::tag()
中的数据,在您的视图中发送$kabupaten
的值,如下所示:
public function actionSelectKabupaten()
$id_kabupaten = $_POST['DataDiriAnak']['provinsi'];
$kabupaten = CHtml::listData(Kabupaten::model()->findByAttributes(array('IDProvinsi'=>$id_kabupaten)), 'Nama', 'Nama');
foreach($kabupaten as $value => $name)
echo CHtml::tag('option', array('value' => $value), CHtml::encode($name), true);
如果有任何进一步的查询,请告诉我。
【讨论】:
感谢您的解决方案,但仍然无法正常工作。第二个 select2 下拉列表的数据仍然为空以上是关于如何使用 select2 小部件 yii 制作依赖下拉列表的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Yii 2.0.43 版和 bootstrap4 中启用 select2 小部件的搜索控件