給第一個(gè)select加js事件,點(diǎn)擊它的時(shí)候動(dòng)態(tài)加載第二個(gè)select的內(nèi)容,比如寫(xiě)個(gè)ajax獲取第一個(gè)select的value(這個(gè)value是哪個(gè)quanx_id),然后去后臺(tái)請(qǐng)求,后無(wú)論是用緩存還是說(shuō)直接從數(shù)據(jù)庫(kù)中查,得到這個(gè)value對(duì)應(yīng)的field,再返回?cái)?shù)據(jù)到前臺(tái)進(jìn)行處理。也可以在頁(yè)面加載的時(shí)候就直接吧每個(gè)quanx_id的對(duì)應(yīng)關(guān)系全部查找并在模板中的js用相應(yīng)變量存儲(chǔ)后,再采用上面的思路去動(dòng)態(tài)加載就是了。反正最終都是當(dāng)select1的value發(fā)生變化,動(dòng)態(tài)加載select2的value.
托里網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
JAVASCRIPT就可以寫(xiě)了 你把JAVASCRIPT追加到PHP代碼里面就OK另外
具體 代碼
head
script language="javascript" type="text/javascript"
var 后盾網(wǎng)=Array("后盾IT教育","后盾網(wǎng)php培訓(xùn)","朝陽(yáng)","孫河");
var 后盾網(wǎng)=Array("php培訓(xùn)","IT教育");
var 其余地方=Array("國(guó)外","未知地址");
function change()
{
shengList=document.getElementById("sheng");
nIndex=shengList.selectedIndex;
cityList=document.getElementById("city");
switch(nIndex)
{
case 1:
doChange(cityList,北京);
break;
case 2:
doChange(cityList,朝陽(yáng));
break;
case 3:
doChange(cityList,其余地方);
break;
default:
cityList.options.length=1;
cityList.options[0].text="--請(qǐng)選擇--";
break;
}
}
function doChange(myList,MyItem)
{
var iLength=MyItem.length;
myList.options.length=iLength;
for(var i=0;iiLength;i++)
{
myList.options[i].text=MyItem[i];
}
}
/script
/head
body
select name="sheng" onchange="change()"
option value="chooseSheng"請(qǐng)選擇/option
option value="北京"朝陽(yáng)/option
option value="后盾網(wǎng)"php培訓(xùn)/option
option value="其他地方"其他地方/option
/select
select name="city"option value="chooseCity" selected="selected"請(qǐng)選擇/option/select/td
12345678910phpfunction ajax_get_b(){ $aid = $_GET['aid']; if( ! $aid ) return false; $res = array();獲取二級(jí)數(shù)據(jù)//"select * from table where aid = {$aid}" $str = "select"; foreach($res as $v) $str .= "option$v['name']/option"; $str .= "/select"; }1html+jquery:
select
id="sa"
optiona/option
optionb/option
optionc/option
optiond/option
/select
div
id="sb"
/div
$('#sa').change(function(){
var
url
=
'';
var
aid
=
$(this).val();
$.get(url,{aid:aid},function(str){
$('#sb').html(str);
});
});
html文件:
liandong.html
首先要引入jquery.js文件
html
title二級(jí)聯(lián)動(dòng)/title
head
script src="__PUBLIC__/scripts/jquery.js" type="text/javascript"/script
script type="text/javascript"
$(function(){
$('#AreaId').change(function(){
//獲取父類(lèi)的id
var $id=$('#AreaId').val();
//通過(guò)ajax進(jìn)行傳值
$.getJSON('__URL__/liandong',{id:$id},function(data){
//回調(diào)函數(shù)
if (data.status==1){
//首先清除子類(lèi)中值不為空的,如果沒(méi)有這句話(huà)你會(huì)發(fā)現(xiàn)子類(lèi)的顯示會(huì)這個(gè)增加,二不是你想要的結(jié)果
$('#ServerId option[value!=""]').remove();
//計(jì)算返回?cái)?shù)組的數(shù)目,并循環(huán)顯示
for (var i=0;i=data.data.length;i++) {
//定義html標(biāo)簽,和顯示的值,id和type_name為數(shù)據(jù)庫(kù)中的字段名
var option ="option value="+data.data[i].id+""+data.data[i].type_name+"/option";
//顯示的位置
$(option).appendTo('#ServerId');
}
}
});
});
});
/script
/head
body
select id="AreaId" name="AreaId"
option selected="selected" value=""請(qǐng)選擇游戲區(qū)/option
?php
//循環(huán)顯示父類(lèi)
foreach($plei as $val){
?
option value="{$val[id]}"{$val[type_name]}/option
?php
}
?
/select
select id="ServerId" name="ServerId"
option selected="selected" value=""請(qǐng)選擇游戲服/option
/select
/body
/html
php文件
IndexAction.class.php
class IndexAction extends Action {
public function liandong(){
//實(shí)例化數(shù)據(jù)表
$type=M('Type');
//首先是查詢(xún)類(lèi)別表中的父類(lèi),我的是父類(lèi)的pid都為0
$plei=$type-where('pid=0')-select();
//分配變量
$this-assign("plei",$plei);
//這個(gè)主要是判斷父類(lèi)的內(nèi)容是否發(fā)生變化,此判斷非常重要(ps:我那會(huì)沒(méi)寫(xiě)這個(gè)判斷,總是出錯(cuò),非常頭疼)
if($_GET[id]){
$sel=$type-where('pid='.$_GET[id])-select();
$this-ajaxReturn($sel,'子類(lèi)',1);
}
$this-display();
}
}
select 有 onchange 事件 ,觸發(fā) js 進(jìn)行ajax 請(qǐng)求 , 然后返回 數(shù)據(jù)進(jìn)行組合構(gòu)成 select 元素。替換第二個(gè)select就行了