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 相关文章推荐
PHP 面向对象 final类与final方法
May 05 PHP
php使用curl发送json格式数据实例
Dec 17 PHP
PHP获取中英混合字符串长度的方法
Jun 07 PHP
php实现图片缩略图的方法
Mar 29 PHP
yii2中的rules 自定义验证规则详解
Apr 19 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
thinkphp5 URL和路由的功能详解与实例
Dec 26 PHP
php把字符串指定字符分割成数组的方法
Mar 12 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
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
zend framework多模块多布局配置
2011/02/26 PHP
PHP sprintf()函数用例解析
2011/05/18 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
2015/01/09 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
PDO::lastInsertId讲解
2019/01/29 PHP
php创建类并调用的实例方法
2019/09/25 PHP
$.each与$().each的区别示例介绍
2014/03/20 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
js Object2String方便查看js对象内容
2014/11/24 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
jquery插件pagination实现无刷新ajax分页
2015/09/30 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
javascript中的面向对象
2017/03/30 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
vue实现模态框的通用写法推荐
2018/02/26 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
2018/10/30 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
Python实现从URL地址提取文件名的方法
2015/05/15 Python
python生成验证码图片代码分享
2016/01/28 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
Python实现七个基本算法的实例代码
2020/10/08 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
python中reload重载实例用法
2020/12/15 Python
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
网上蛋糕店创业计划书
2014/01/24 职场文书
乱世佳人观后感
2015/06/08 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
《搭石》教学反思
2016/02/18 职场文书
NodeJs内存占用过高的排查实战记录
2021/05/10 NodeJs