色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

下拉列表多級(jí)聯(lián)動(dòng)dropDownList示例代碼

視圖:
cdnauto/views/config/index.php
復(fù)制代碼 代碼如下:
echo CHtml::dropDownList('node', '', CHtml::listData(Node::model()->findAll(),'name','name'),array('empty'=>'--請(qǐng)選擇節(jié)點(diǎn)--',
'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('--請(qǐng)選擇服務(wù)器--'));

控制器:
cdnauto/controllers/ConfigController.php
復(fù)制代碼 代碼如下:
public function actionGetNodeServersByNodeName(){
// if(!Yii::app()->request->isAjaxRequest)
// throw new CHttpException(404);
$node_name = $_POST['node_name'];
$nodeid = Node::model()->getNodeId($_POST['node_name']); //通過(guò)節(jié)點(diǎn)名稱(chēng)獲取該節(jié)點(diǎn)ID
$server = GossServer::model()->getServerByNodeid($nodeid); //通過(guò)節(jié)點(diǎn)ID獲取服務(wù)器信息
//$server 為array類(lèi)型,形如 $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
復(fù)制代碼 代碼如下:
/**
* 通過(guò)節(jié)點(diǎn)ID獲取該節(jié)點(diǎn)下所有的服務(wù)器名稱(chēng)
* @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("找不到這個(gè)節(jié)點(diǎn)對(duì)應(yīng)的服務(wù)器");
}
return $ret;
}

Node.php
復(fù)制代碼 代碼如下:
/**
* 通過(guò)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'];
}

其它:
數(shù)據(jù)表結(jié)構(gòu)
效果:
沒(méi)有選擇節(jié)點(diǎn)前:
 
細(xì)節(jié)有空再補(bǔ)上了。

php技術(shù)下拉列表多級(jí)聯(lián)動(dòng)dropDownList示例代碼,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 通城县| 房山区| 海原县| 黄龙县| 阿尔山市| 吴桥县| 台州市| 竹溪县| 四子王旗| 古丈县| 洪洞县| 青田县| 苏州市| 淮阳县| 江口县| 黔东| 平乐县| 太康县| 河曲县| 民丰县| 屏山县| 威远县| 陆河县| 宝应县| 简阳市| 池州市| 宝鸡市| 寿阳县| 封开县| 青海省| 龙海市| 甘洛县| 张掖市| 东乡县| 信阳市| 常山县| 舟曲县| 贵州省| 宁陵县| 出国| 绥宁县|