0

我在谷歌、论坛和文档上努力搜索,试图避免在这里提问,但我找不到解决方案。

我已经安装了jQuery-Cascade Extension

在我的视图中

<?php
    $divipola = $this->createWidget('ext.jquery-cascade.jQueryCascade');

// dropDownList($id, $selected, $data, $htmlOptions = array(), $source, $cascaded)
    echo $divipola->dropDownList('depto_dane',
            '', 
            CHtml::listData(Codigodane::model()->findAll(), 'depto_dane', 'depto_dane'),
            '', 
            CController::createUrl('codigodane/list'), 
            'muni_dane'.
            ''
    );
                echo Yii::trace(CVarDumper::dumpAsString($divipola), 'vardump');


    ?>

在控制器中:

public function actionList() {
        echo Yii::trace(CVarDumper::dumpAsString('Entrando a actionList'), 'vardump');
        if (Yii::app()->request->isAjaxRequest) {
            $queryvar = "";
            $queryvar.="depto_dane='";
            $queryvar.=$_GET['selected'];
            $queryvar.="'";
            $registro = Codigodane::model()->findAll($queryvar);
            $munis = array();
            echo Yii::trace(CVarDumper::dumpAsString($registro), 'vardump');

            foreach ($registro as $muni) {
                echo Yii::trace(CVarDumper::dumpAsString($muni), 'vardump');

                $munis[] = array('label' => $muni->muni_dane, 'value' => $muni->codigodane);
            }

            echo json_encode($munis);
            Yii::app()->end();
        } else {
            throw new CHttpException(400, 'Invalid request.');
        }
    }

代码似乎运行良好,第一个下拉列表完美呈现,当我选择一个选项时,它成功地从模型中检索了一个数组,完全符合我的需要(我可以在 firebug 中看到):

[{"label":"FLORENCIA","value":"18001"},{"label":"ALBANIA","value":"18029"},{"label":"BELEN DE LOS ANDAQUIES","value":"18094"},{"label":"CARTAGENA DEL CHAIRA","value":"18150"},{"label":"CURILLO","value":"18205"},{"label":"EL DONCELLO","value":"18247"},{"label":"EL PAUJIL","value":"18256"},{"label":"MONTA\u00d1ITA","value":"18410"},{"label":"MILAN","value":"18460"},{"label":"MORELIA","value":"18479"},{"label":"PUERTO RICO","value":"18592"},{"label":"SAN JOSE DEL FRAGUA","value":"18610"},{"label":"SAN VICENTE DEL CAGUAN","value":"18753"},{"label":"SOLANO","value":"18756"},{"label":"SOLITA","value":"18785"},{"label":"VALPARAISO","value":"18860"}]

我不知道如何使用这个数组来创建另一个下拉列表,或者(我认为)扩展是否应该创建另一个 ID 为“muni_dane”的下拉列表。

难道我做错了什么?或者我错过了文档中的一些内容?

4

1 回答 1

0

您必须创建一个空的下拉列表。扩展程序不会自己创建一个。将以下代码添加到您的视图中

echo CHtml::dropDownList('muni_dane','',array(),array('id'=>'muni_dane'));
于 2013-01-29T19:10:47.050 回答