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);
}
}
InformationsquelleAutor Umidjon Urunov | 2013-12-14
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Methode, die Sie Fragen, ist
Dependent Dropdown
. YII framework habe tutorials für die ErstellungDependent Dropdown
. Überprüfen Sie diese link für mehr details und BeispieleEDIT:
In Ihrem code, den Sie überprüfen groupname mit dem einzelnen Wert als
'group = '.$groupName;
. Aber$groupname
ist ein array von Werten. So verwenden Siein
in mysql mit den Werten von implodiert $groupname-array.Ihre Bedingung Kriterien:
Versuchen wie diese.In Ihrer ajax-array,