我在谷歌、论坛和文档上努力搜索,试图避免在这里提问,但我找不到解决方案。
我已经安装了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”的下拉列表。
难道我做错了什么?或者我错过了文档中的一些内容?