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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(3)
Oct 09 PHP
PHP及Zend Engine的线程安全模型分析
Nov 10 PHP
PHP入门经历和学习过程分享
Apr 11 PHP
PHP Opcache安装和配置方法介绍
May 28 PHP
php+mysql实现简单的增删改查功能
Jul 13 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
php格式化json函数示例代码
May 12 PHP
Yii统计不同类型邮箱数量的方法
Oct 18 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
PHP排序算法之希尔排序(Shell Sort)实例分析
Apr 20 PHP
PHPUnit + Laravel单元测试常用技能
Nov 06 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 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
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
javascript cookies操作集合
2010/04/12 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
JavaScript中的console.assert()函数介绍
2014/12/29 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
Jquery技巧(必须掌握)
2016/03/16 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
JavaScript编写一个贪吃蛇游戏
2017/03/09 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
vue计算属性和监听器实例解析
2018/05/10 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
[49:21]2018DOTA2亚洲邀请赛3月30日 小组赛B组 Effect VS iG
2018/03/31 DOTA
Python脚本获取操作系统版本信息
2016/12/17 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
python实现超级马里奥
2020/03/18 Python
jupyter notebook清除输出方式
2020/04/10 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
广播体操口号
2014/06/18 职场文书
小学教师读书活动总结
2014/07/08 职场文书
机关职员工作检讨书
2014/10/23 职场文书
2015元旦节寄语
2014/12/08 职场文书
学生病假条怎么写
2015/08/17 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书
浅析MySQL如何实现事务隔离
2021/06/26 MySQL
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js