ここでの質問を避けようとして、Google、フォーラム、ドキュメントを一生懸命検索しましたが、解決策が見つかりませんでした。
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' で別のドロップダウンリストを作成する必要があるかどうかです。
私は何か間違ったことをしていますか?または、ドキュメントから何かを逃したのでしょうか?