Yii实现的多级联动下拉菜单


Posted in PHP onJuly 13, 2016

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
关于文本留言本的分页代码
Oct 09 PHP
php中获取关键词及所属来源搜索引擎名称的代码
Feb 15 PHP
显示程序执行时间php函数代码
Aug 29 PHP
php读取文件内容的方法汇总
Jan 24 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
php循环table实现一行两列显示的方法
Jun 04 PHP
详解WordPress开发中的get_post与get_posts函数使用
Jan 04 PHP
php简单实现数组分页的方法
Apr 30 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
Ajax+PHP实现的删除数据功能示例
Feb 12 PHP
PHP7 参数处理机制修改
Mar 09 PHP
YII视图整合kindeditor扩展的方法
Jul 13 #PHP
Yii+upload实现AJAX上传图片的方法
Jul 13 #PHP
Yii安装与使用Excel扩展的方法
Jul 13 #PHP
Yii配置与使用memcached缓存的方法
Jul 13 #PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 #PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 #PHP
PHP中类属性与类静态变量的访问方法示例
Jul 13 #PHP
You might like
ThinkPHP入库出现两次反斜线转义及数据库类转义的解决方法
2014/11/04 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
使用PHP+MySql实现微信投票功能实例代码
2017/09/29 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
PHP程序员简单的开展服务治理架构操作详解(三)
2020/05/14 PHP
jQuery中filter(),not(),split()使用方法
2010/07/06 Javascript
jQuery实现用方向键控制层的上下左右移动
2013/01/13 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
js实现带有介绍的Select列表菜单实例
2015/08/18 Javascript
php 修改密码实现代码
2017/05/24 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
Python对多属性的重复数据去重实例
2018/04/18 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
python如何制作缩略图
2019/04/30 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
解决django FileFIELD的编码问题
2020/03/30 Python
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
品学兼优的大学生自我评价
2013/09/20 职场文书
数学检讨书1000字
2014/02/24 职场文书
奥巴马获胜演讲稿
2014/05/15 职场文书
领导干部保密承诺书
2014/08/30 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
服装店员工管理制度
2015/08/07 职场文书
如何用Navicat操作MySQL
2021/05/12 MySQL