当前位置:编程学习 > php >>

Yii - 连动下拉菜单,可多级哦

视图文件
[html] 
<?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'=>'选择会员等级'))?>  
 
控制器
[html]  
/**  
 * 获取会员组,对应的会员等级,用于下拉菜单  
 */  
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);  
    }  
}  
 
模型
[html]  
/*  
 * 取会员组信息      
 */  
  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];  
        }  
    }  
  }  
 
补充:Web开发 , php ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,