一样长的话就用三个下拉。
选中其中某一个的时候,其他两个的SelectedIndex与之相同就实现联动了

解决方案 »

  1.   

    <html>
    <head>
    <script language=javascript>
    var arr="浙江|江苏|安徽|江西";var arr0 = "杭州|宁波|温州|绍兴"; //这些数据可以从数据库中取得
    var arr1 = "南京|苏州|无锡|常州";
    var arr2 = "合肥|翕县|黄山|祁门";
    var arr3 = "南昌|九江|赣州|上饶"; var arr00 = "杭州A区|杭州B区"; 
    var arr01 = "宁波A区|宁波B区"; 
    var arr02 = "温州A区|温州B区"; 
    var arr03 = "绍兴A区|绍兴B区"; var arr10 = "南京A区|南京B区"; 
    var arr11 = "苏州A区|苏州B区"; 
    var arr12 = "无锡A区|无锡B区"; 
    var arr13 = "常州A区|常州B区"; var arr20 = "合肥A区|合肥B区"; 
    var arr21 = "翕县A区|翕县B区"; 
    var arr22 = "黄山A区|黄山B区"; 
    var arr23 = "祁门A区|祁门B区"; var arr30 = "南昌A区|南昌B区"; 
    var arr31 = "九江A区|九江B区"; 
    var arr32 = "赣州A区|赣州B区"; 
    var arr33 = "上饶A区|上饶B区"; //alert(eval("arr"+2+1));
    function AddOptions(dltObj,arrObj)
    {
    dltObj.innerHTML="";
    var arrLocation=arrObj.split("|");
    for(var i=0;i<arrLocation.length;i++){
    var opt=document.createElement("OPTION");
    dltObj.add(opt);
    opt.value=i;
    opt.text=arrLocation[i];
    }
    }
    function ShowValue(){
    var dltAr=document.getElementById("dltArea");
    var hidId=document.getElementById("OutValue");
    var txtText=document.getElementById("txtOutText");
    hidId.value=dltAr.options[dltAr.selectedIndex].value;
    txtText.value=dltAr.options[dltAr.selectedIndex].text;}
    function init(){
    AddOptions(dltProvince,eval('arr'));
    AddOptions(dltCity,eval('arr'+dltProvince.selectedIndex));
    AddOptions(dltArea,eval('arr'+dltProvince.selectedIndex+dltCity.selectedIndex));
    ShowValue();
    }
    </script>
    </head>
    <body onLoad="init();">
    <table width="300" cellpading="0" cellspacing="0" border="2">
    <tr>
    <td width="100"><select id="dltProvince" onchange="AddOptions(dltCity,eval('arr'+dltProvince.selectedIndex));AddOptions(dltArea,eval('arr'+dltProvince.selectedIndex+dltCity.selectedIndex));ShowValue();" style="width:100%"></select>
    </td>
    <td width="100"><select id="dltCity" onchange="AddOptions(dltArea,eval('arr'+dltProvince.selectedIndex+dltCity.selectedIndex));ShowValue();" style="width:100%"></select>
    </td>
    <td width="100"><select id="dltArea" style="width:100%" onchange="ShowValue()"></select></td>
    <td width="100">
    <input type="hidden" id="OutValue" value="">
    <input type="text" id="txtOutText" style="width:100%">
    </td>
    </tr>
    </table>
    </body>
    </html>
      

  2.   

    <html>
    <head>
    <title>省市县关联菜单</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <style>
    body,select
    {
    font-size:9pt;
    font-family:Verdana;
    }
    a
    {
    color:red;
    text-decoration:none;
    }
    a:hover{
    text-decoration:underline;
    }
    </style>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function Dsy()
    {
    this.Items = {};
    }
    Dsy.prototype.add = function(id,iArray)
    {
    this.Items[id] = iArray;
    }
    Dsy.prototype.Exists = function(id)
    {
    if(typeof(this.Items[id]) == "undefined") return false;
    return true;
    }function change(v){
    var str="0";
    for(i=0;i<v;i++){ str+=("_"+(document.getElementById(s[i]).selectedIndex-1));};
    var ss=document.getElementById(s[v]);
    with(ss){
      length = 0;
      options[0]=new Option(opt0[v],opt0[v]);
      if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v)
      {
       if(dsy.Exists(str)){
        ar = dsy.Items[str];
        for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]);
        if(v)options[1].selected = true;
       }
      }
      if(++v<s.length){change(v);}
    }
    }var dsy = new Dsy();dsy.add("0",["安徽","北京","福建","甘肃","广东","广西","贵州","海南","河北","河南","黑龙江","湖北","湖南","吉林","江苏","江西","辽宁","内蒙古","宁夏","青海","山东","山西","陕西","上海","四川","天津","西藏","新疆","云南","浙江","重庆"]);dsy.add("0_0",["安庆","蚌埠","巢湖","池州","滁州","阜阳","合肥","淮北","淮南","黄山","六安","马鞍山","宿州","铜陵","芜湖","宣城","亳州"]);
    dsy.add("0_0_0",["安庆市","怀宁县","潜山县","宿松县","太湖县","桐城市","望江县","岳西县","枞阳县"]);
    dsy.add("0_0_1",["蚌埠市","固镇县","怀远县","五河县"]);
    dsy.add("0_0_2",["巢湖市","含山县","和县","庐江县","无为县"]);
    dsy.add("0_0_3",["池州市","东至县","青阳县","石台县"]);
    dsy.add("0_0_4",["滁州市","定远县","凤阳县","来安县","明光市","全椒县","天长市"]);
    dsy.add("0_0_5",["阜南县","阜阳市","界首市","临泉县","太和县","颖上县"]);
    dsy.add("0_0_6",["长丰县","肥东县","肥西县"]);
    dsy.add("0_0_7",["淮北市","濉溪县"]);
    dsy.add("0_0_8",["凤台县","淮南市"]);
    dsy.add("0_0_9",["黄山市","祁门县","休宁县","歙县","黟县"]);
    dsy.add("0_0_10",["霍邱县","霍山县","金寨县","六安市","寿县","舒城县"]);
    dsy.add("0_0_11",["当涂县","马鞍山市"]);
    dsy.add("0_0_12",["灵璧县","宿州市","萧县","泗县","砀山县"]);
    dsy.add("0_0_13",["铜陵市","铜陵县"]);
    dsy.add("0_0_14",["繁昌县","南陵县","芜湖市","芜湖县"]);
    dsy.add("0_0_15",["广德县","绩溪县","郎溪县","宁国市","宣城市","泾县","旌德县"]);
    dsy.add("0_0_16",["利辛县","蒙城县","涡阳县","亳州市"]);dsy.add("0_1",["北京"]);
    dsy.add("0_1_0",["北京市","密云县","延庆县"]);
    ///此处省略代码无数.........................................
    dsy.add("0_30",["重庆"]);
    dsy.add("0_30_0",["城口县","大足县","垫江县","丰都县","奉节县","合川市","江津市","开县","梁平县","南川市","彭水苗族土家族自治县","荣昌县","石柱土家族自治县","铜梁县","巫山县","巫溪县","武隆县","秀山土家族苗族自治县","永川市","酉阳土家族苗族自治县","云阳县","忠县","重庆市","潼南县","璧山县","綦江县"]);
    //-->
    </SCRIPT>
    <SCRIPT LANGUAGE = JavaScript>
    <!--
    //** Power by Fason(2004-3-11)
    //** Email:[email protected] s=["s1","s2","s3"];
    var opt0 = ["省份","地级市","市、县级市、县"];
    function setup()
    {
    for(i=0;i<s.length-1;i++)
      document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
    change(0);
    }
    //-->
    </SCRIPT>
    </head>
    <body bgcolor="#E0E0E0" onload="setup()">
    多级关联菜单:
    <form name="frm">
    <select id="s1"><option>省份</option></select>
    <select id="s2"><option>地级市</option></select>
    <select id="s3"><option>市、县级市、县</option></select>
    </form>
    </body>
    </html>
      

  3.   

    var s1=document.getElementById("Select1");
            var province;
            for(var i=0;i<myAddressArray.length;i++)
            {
                if(myAddressArray[i][0]=="0")
                {
                    var option = new Option(myAddressArray[i][1],myAddressArray[i][0]);
                    s1.options[i]=option;
                    province=myAddressArray[i][0];
                }
            }
            this.provinces(province);
    }
    function provinces(province)
    {
        var s2=document.getElementById("Select2");
        var city;
        for(var i=0;i<myAddressArray.length;i++)
        {
            if(myAddressArray[i][2]==province)
            {
                var option = new Option(myAddressArray[i][1],myAddressArray[i][0]);
                s2.options[i]=option;
                city=myAddressArray[i][0];
                s2.options[i].selected="selected";
            }
        }
        this.citys(city);
    }
    function citys(city)
    {
        var s3=document.getElementById("Select3");
        for(var i=0;i<myAddressArray.length;i++)
        {
            s3.remove(i);
        }
        for(var i=0;i<myAddressArray.length;i++)
        {
            if(myAddressArray[i][2]==city)
            {
                var option = new Option(myAddressArray[i][1],myAddressArray[i][0]);
                s3.options[i]=option;
                s3.options[i].selected="selected";
            }
        }
    }
    function $(varvalue)
    {
        return document.getElementById(varvalue);
    }
      

  4.   

    谢了!
    我的MSN  [email protected]