php教程

超轻量级php框架startmvc

Yii实现的多级联动下拉菜单

更新时间:2020-03-10 03:54:11 作者:startmvc
本文实例讲述了Yii实现的多级联动下拉菜单。分享给大家供大家参考,具体如下:1.视图文

本文实例讲述了Yii实现的多级联动下拉菜单。分享给大家供大家参考,具体如下:

1. 视图文件


<?php echo CHtml::activeDropDownList($model,'zmg_id',MemGroup::model()->getMemGroup(),array(
 'class'=>'s_ipt w_120',
 'empty'=>'请选择会员组',
 'ajax' =>array(
 'type'=>'GET',
 'url'=>CController::createUrl('cmpTemplates/getMemType'),
 'update'=>'#CmpTemplates_zmg_ids',
 'data'=>array('mid'=>"js:this.value")
 ),
 ))?>
<?php echo $form->dropDownList($model,'zmg_ids',array(),array('class'=>'s_ipt w_120','empty'=>'选择会员等级'))?>

2. 控制器


/**
 * 获取会员组,对应的会员等级,用于下拉菜单
 */
public function actionGetMemType($mid=0)
{
 $criteria=new CDbCriteria;
 $criteria->compare('zmg_id',$mid);
 $memType = MemType::model()->findAll($criteria);
 $name = '选择会员等级';
 echo CHtml::tag('option', array('value'=>0), $name, true);
 foreach($memType as $val) {
 echo CHtml::tag('option', array('value'=>$val->zmt_id),CHtml::encode($val->zmt_title),true);
 }
}

3. 模型


/*
* 取会员组信息
*/
public function getMemGroup($type=null){
 if($type==null){
 $criteria=new CDbCriteria;
 $criteria->compare('type','1');
 $memGroup = MemGroup::model()->findAll($criteria);
 return CHtml::listData($memGroup,'zmg_id','zmg_title');
 }else{
 $level = $this->getMemGroup();
 if(array_key_exists($type,$level)){
 return $level[$type];
 }
 }
}

Yii 多级联动 下拉菜单