0

ここでの質問を避けようとして、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' で別のドロップダウンリストを作成する必要があるかどうかです。

私は何か間違ったことをしていますか?または、ドキュメントから何かを逃したのでしょうか?

4

1 に答える 1

0

空の dropdownlist を作成する必要があります。拡張機能は、それ自体では作成しません。次のコードをビューに追加します

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