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程序设计有所帮助。

以上就是Yii实现的多级联动下拉菜单。你相信你行,你就活力无穷;你认为你自已不行,就会精神萎靡不振!更多关于Yii实现的多级联动下拉菜单请关注haodaima.com其它相关文章!

标签: Yii