Dropdown abhängig, multi-select-dropdown-Liste im yii-framework

Ich bin neu im Yii-framework und kann ich nicht lösen dieses problem mit dropdown.

In meiner Seite ich habe zwei dropdown-Listen, die beide von Ihnen multiselect dropdowns. Und das zweite hängt im ersten dropdown-Menü. Zum Beispiel,

1-dropdown ist Obst, Gemüse, Getränke;

2-dropdown hängt die Auswahl des Benutzers, wenn Benutzer wählen Sie Obst und Getränke, es zu sehen sein sollte, Apfel, Trauben, Saft, bier ( alles zusammen in eine dropdownlist );

Wenn Benutzer wählen Sie nur eine option-e.g Gemüse in der ersten dropdown-Sekunde angezeigt werden sollen, Zwiebel, Kartoffel usw.

Hier der Quellcode:

//---------- VIEW ------------

    <div id="left">
                        <div class="btn-group">
                            <?php             
                                echo CHtml::dropDownList('group', '', CHtml::listData($group,'group','group'), array(
                                    'multiple'=>'multiple',
                                    'ajax'=>array(
                                        'type' => 'POST',
                                        'url' => CController::createUrl('site/change'),
                                        'update' => '#e5'
                                    ),
                                    'id' => 'e4',
                                    'style' => 'width:300px'
                                ));
                            ?>
                        </div>
                    </div>
                    <div id="right">
                        <div class="btn-group">
                            <?php
                                echo CHtml::dropDownList('subgroup','', array(), array(
                                    'multiple' => 'multiple',
                                    'id'=>'e5',
                                    'style' => 'width:300px'
                                ));
                            ?>
                        </div>
                    </div>


//------------ CONTROLLER ------------


public function actionChange()
        {

            $groupName = $_POST['group'];        


            $dpCriteria = new CDbCriteria();
            $dpCriteria->select = 'subgroups';
            $dpCriteria->condition = 'group = '.$groupName;

            $data = Subgroups::model()->findAll($dpCriteria);

            $data = CHtml::listData($data,'subgroups','subgroups');
            foreach($data as $value=>$name)
            {
                echo CHtml::tag('option',
                           array('value'=>$value),CHtml::encode($name),true); 
            }
        }
Schreibe einen Kommentar