这个问题你该到JS版去问,他们的回答肯定会比较详细。我只给段生成了的代码,至于该如何生成,你自己研究下 <form name="send"> <script language = "JavaScript"> var onecount1; onecount1=0; Firstcat = new Array(); Firstcat[0] = new Array("请选内容","0","");
Firstcat[1] = new Array("请选内容","2","");
Firstcat[2] = new Array("请选内容","3","");
Firstcat[3] = new Array("你好","2","你好");
Firstcat[4] = new Array("今天开会","2","今天开会");
Firstcat[5] = new Array("今天晚上喝酒去","3","今天晚上喝酒去");
onecount1=6; function changeClass(locationid) { document.send.xiyu_select.length = 0; var locationid=locationid; var i; for (i=0;i < onecount1; i++) { if (Firstcat[i][1] == locationid) { document.send.xiyu_select.options[document.send.xiyu_select.length] = new Option(Firstcat[i][0], Firstcat[i][2]); } }
<form name="send">
<script language = "JavaScript">
var onecount1;
onecount1=0;
Firstcat = new Array();
Firstcat[0] = new Array("请选内容","0","");
Firstcat[1] = new Array("请选内容","2","");
Firstcat[2] = new Array("请选内容","3","");
Firstcat[3] = new Array("你好","2","你好");
Firstcat[4] = new Array("今天开会","2","今天开会");
Firstcat[5] = new Array("今天晚上喝酒去","3","今天晚上喝酒去");
onecount1=6;
function changeClass(locationid)
{
document.send.xiyu_select.length = 0; var locationid=locationid;
var i;
for (i=0;i < onecount1; i++)
{
if (Firstcat[i][1] == locationid)
{
document.send.xiyu_select.options[document.send.xiyu_select.length] = new Option(Firstcat[i][0], Firstcat[i][2]);
}
}
}
</script>
<select name="group_select" onChange="javascript:changeClass(document.send.group_select.options[document.send.group_select.selectedIndex].value)" size="1">
<option value=0>请选组别</option>
<option value=0>--私人--</option>
<option value="2">工作用语</option>
<option value="3">朋友亲人</option>
<option value=0>--公共--</option>
</select>
<select name="xiyu_select">
<option selected value=>请选内容</option>
</select>
</form>
关键就是在于那个数组Firstcat[],比如Firstcat[3] = new Array("你好","2","你好");
其中第一个“”之间的“你好”是显示在第2个<select>中<OPTION></option>之间的;第二个“”之间的“2”是第一个<select>中能够使第二个<select>变换到对应选项的选项的value值,比如第一个<select>中有:<option value="2">工作用语</option>,当用户选择这个时,第二个<select>中的选项就是所有类似:Firstcat[3] = new Array("你好","2","你好");第二项为"2"的树组;第三个“”之间的“你好”是第2个<select>其对应<OPTION>的value值PHP所需要做的事就是如何生成这些数组,至于是两个<select>还是三个,圣旨是4个5个,都是一样的做