這篇文章主要介紹了Yii實現的多級聯動下拉菜單,包括視圖、模型及控制器的相關實現代碼,涉及基於Yii的數據庫查詢、數組遍歷與數據顯示等相關操作技巧,需要的朋友可以參考下
本文實例講述了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實現的多級連動下拉式選單的詳細內容。更多資訊請關注PHP中文網其他相關文章!