加载中...

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];
    	   		}
    	   	}
       }


还没有评论.