下拉列表多级联动dropDownList示例代码
前端之家收集整理的这篇文章主要介绍了
下拉列表多级联动dropDownList示例代码,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
视图:
cdnauto/views/config/index.PHP
<div class="codetitle"><a style="CURSOR: pointer" data="75962" class="copybut" id="copybut75962" onclick="doCopy('code75962')"> 代码如下:
<div class="codebody" id="code75962">
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 <div class="codetitle">
<a style="CURSOR: pointer" data="67676" class="copybut" id="copybut67676" onclick="doCopy('code67676')"> 代码如下: <div class="codebody" id="code67676">
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.