我想使用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 --',
),));?>
这是我的cotroller:
public function actionSelectKabupaten() {
$id_kabupaten = $_POST['DataDiriAnak']['provinsi'];
$kabupaten = CHtml::listData(Kabupaten::model()->findByAttributes(array('IDProvinsi'=>$id_kabupaten)), 'Nama', 'Nama');
}
我不知道如何将$kabupaten
的值发送到我上次的select2下拉列表
答案 0 :(得分:0)
您可以通过对$kabupaten
中的数据进行编码,在视图中发送CHtml::tag()
的值,如下所示:
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);
}
}
让我知道任何进一步的查询。