下拉列表多级联动dropDownList示例代码


Posted in PHP onJune 27, 2013

视图:
cdnauto/views/config/index.php

echo CHtml::dropDownList('node', '', CHtml::listData(Node::model()->findAll(),'name','name'),array('empty'=>'--请选择节点--', 
'id' => 'node', 
'ajax'=>array( 
'type'=>'POST', 
'url'=>Yii::app()->createUrl('cdnauto/config/getNodeServersByNodeName'), 
'update'=>'#servers', 
'data'=>array('node_name'=>'js:$("#node").val()'), 
) 
) 
); 
echo "        "; 
echo CHtml::dropDownList('servers', '', array('--请选择服务器--'));

控制器:
cdnauto/controllers/ConfigController.php
public function actionGetNodeServersByNodeName(){ 
// if(!Yii::app()->request->isAjaxRequest) 
// throw new CHttpException(404); 
$node_name = $_POST['node_name']; 
$nodeid = Node::model()->getNodeId($_POST['node_name']); //通过节点名称获取该节点ID 
$server = GossServer::model()->getServerByNodeid($nodeid); //通过节点ID获取服务器信息 
//$server 为array类型,形如 $server = array(array('name'=>'name1'),array('name'=>'name2'));所以需要两次foreach 
if(isset($server)){ 
foreach ($server as $k=>$v){ 
foreach($v as $kk => $vv){ 
echo CHtml::tag('option', array('value'=>$kk), CHtml::encode($vv), true); 
} 
} 
}else{ 
echo CHtml::tag('option', array('value'=>''), 'servers', true); 
} 
}

模型:
GossServer.php
/** 
* 通过节点ID获取该节点下所有的服务器名称 
* @author ysdaniel 
*/ 
public static function getServerByNodeid($nodeid) 
{ 
$sql = "SELECT name FROM OSS_Server WHERE nodeid = '{$nodeid}' "; 
///$sql = "SELECT name,nodeid FROM OSS_Server WHERE nodeid = '{$nodeid}' "; //both ok 
$cmd = Yii::app()->db->createCommand($sql); 
$ret = $cmd->queryAll(); 
if (!$ret){ 
throw new Exception("找不到这个节点对应的服务器"); 
} 
return $ret; 
}

Node.php
/** 
* 通过nodename获取nodeid名 
* @author 
*/ 
public static function getNodeId($name) 
{ 
$sql = "SELECT id FROM OSS_Node WHERE name = '{$name}'"; 
$cmd = Yii::app()->db->createCommand($sql); 
$ret = $cmd->queryAll(); 
if (!$ret){ 
return null; 
//throw new Exception("找不到Node{$name}"); 
} 
return $ret[0]['id']; 
}

其它:
数据表结构
效果:
没有选择节点前:
下拉列表多级联动dropDownList示例代码 
细节有空再补上了。
PHP 相关文章推荐
php正则
Jul 07 PHP
用PHP创建PDF中文文档
Oct 09 PHP
vBulletin HACK----关于排版的两个HACK
Oct 09 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
PHP中防止SQL注入实现代码
Feb 19 PHP
php文件怎么打开 如何执行php文件
Dec 21 PHP
基于php split()函数的用法详解
Jun 05 PHP
在PHP中使用redis
Nov 04 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
Oct 10 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
Laravel配置全局公共函数的方法步骤
May 09 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
Apr 29 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
Jun 27 #PHP
PHP数组排序函数合集 以及它们之间的联系分析
Jun 27 #PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 #PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
Jun 27 #PHP
浅析php中抽象类和接口的概念以及区别
Jun 27 #PHP
领悟php接口中interface存在的意义
Jun 27 #PHP
CURL状态码列表(详细)
Jun 27 #PHP
You might like
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
php身份证号码检查类实例
2015/06/18 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
ES6如何用一句代码实现函数的柯里化
2020/01/18 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
[01:03:47]VP vs NewBee Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
python使用cPickle模块序列化实例
2014/09/25 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
python里的单引号和双引号的有什么作用
2020/06/17 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
h5页面背景图很长要有滚动条滑动效果的实现
2021/01/27 HTML / CSS
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
英国受欢迎的运动鞋和街头服装商店:Footasylum
2018/06/12 全球购物
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
财务方面个人工作的自我评价
2013/12/28 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
运动会表扬稿
2015/01/16 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
七年级作文之雪景
2019/11/18 职场文书
Python开发简易五子棋小游戏
2022/05/02 Python