Yii实现的多级联动下拉菜单
author:一佰互联 2019-04-27   click:193

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。