【发布时间】:2013-12-14 02:46:19
【问题描述】:
我是 Yii 框架的新手,我无法通过下拉菜单解决这个问题。
在我的页面中,我有两个下拉列表,它们都是多选下拉列表。第二个取决于第一个下拉菜单。例如,
1-dropdown 是水果、蔬菜、饮料;
2-dropdown 取决于用户选择,如果用户选择水果和饮料,应该显示苹果、葡萄、果汁、啤酒(都在一个下拉列表中);
如果用户只选择一个选项,例如第一个下拉菜单中的蔬菜,第二个应该显示洋葱、土豆等。
这里是源码:
//---------- 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);
}
}
【问题讨论】:
标签: php drop-down-menu yii