手机版

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

时间:2021-11-18 来源:互联网 编辑:宝哥软件园 浏览:

视图:cdnauto/view/config/index。服务器端编程语言(Professional Hypertext Preprocessor的缩写)复制代码代码如下:回显chtml : dropdownlist(' node ','),chtml :3360 list data(node : model()-findAll(),' name ',' name '),array('empty'=' -请选择节点-',' id'='node ',' ajax'=array('type'='POST ',' URL '=yii 3360: app()-创建URL(' CD nauto/config/getNodeServersByNodeName '),' update'='#servers ',' data '=array(' node _ name '=' js : $(' # node ').val()'),)));回声"";回显CHtml:dropDownList('服务器','',数组('-请选择服务器- '));控制器:光盘/控制器/配置控制器。服务器端编程语言(Professional Hypertext Preprocessor的缩写)复制代码代码如下:公共函数actionGetNodeServersByNodeName(){//if(!yii : app()-request-isAjaxRequest)//抛出新的chttp异常(404);$ node _ name=$ _ POST[' node _ name '];$ nodeid=node : model()-getNodeId($ _ POST[' node _ name ']);//通过节点名称获取该节点ID $ server=gosserver : model()-getServerByNodeid($ nodeid);//通过节点身份获取服务器信息//$服务器为排列类型,形如$ server=array(array(' name '=' name 1 '),array(' name '=' name 2 '));所以需要两次foreach if(isset($ server)){ foreach($ server as $ k=$ v){ foreach($ v as $ kk=$ vv){ echo chtml :标记(' option ',array('value'=$kk),CHtml:encode($vv),true);} } } else { echo chtml :3360标记(' option ',array('value'=' '),' servers ',true);} } 模型:GossServer.php复制代码代码如下: /** * 通过节点身份获取该节点下所有的服务器名称* @作者ysdaniel */公共静态函数getServerByNodeid($ nodeid){ $ SQL=' SELECT name FROM OSS _ Server WHERE nodeid=' { $ nodeid } ';///$sql='SELECT name,nodeid FROM OSS _ Server WHERE nodeid=' { $ nodeid } ' ';//两者都ok $ cmd=yii :3360 app()-db-create命令($ SQL);$ ret=$ cmd-queryAll();if(!$ ret){ 0引发新异常('找不到这个节点对应的服务器');}返回$ ret } Node.php复制代码代码如下: /** * 通过节点名获取nodeid名* @作者*/公共静态函数getNodeId($ name){ $ SQL=' SELECT id FROM OSS _ Node WHERE name=' { $ name } ';$ cmd=yii :3360 app()-db-create命令($ SQL);$ ret=$ cmd-queryAll();if(!$ ret){ 0返回null/引发新的异常('找不到节点{ $ name } ');}返回$ ret[0][' id '];} 其它:数据表结构效果:没有选择节点前

细节有空再补上了。

版权声明:下拉列表多级联动dropDownList示例代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。