0

我想使用 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 下拉列表

4

1 回答 1

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);
        }
} 

如果有任何进一步的查询,请告诉我。

于 2015-10-27T13:29:45.727 回答