<form name="addcom" method="post" action="save_buy.asp">
<select id="prov" style="width:90" onchange="SetCity(this,addcom.city)" name="area">
 </select> 
<select id="city" style="width:90" name="qy"></select>
</form><SCRIPT language=JavaScript>//默认
var Province_none = new Array();//省份列表
var ProvinceList = new Array("南昌|1","九江|2","景德镇|3","萍乡|4");var Province南昌 = new Array("东湖区|101","西湖区|102","青云谱区|103","湾里区|104","郊区|105","南昌县|106","新建县|107","安义县|108","进贤县|109","青山湖区|110","高新开发区|111","红谷滩新区|112","其它|113");var Province九江 = new Array("庐山区|114","浔阳区|115","九江县|116","武宁县|117","修水县|118","永修县|119","德安县|120","星子县|121","都昌县|122","湖口县|120","彭泽县|121","瑞昌市|122","其它|123");var Province景德镇 = new Array("昌江区|139","景山区|140","浮梁县|141","乐平市|140","其它|141");var Province萍乡 = new Array("安源区|151","栗县|152","芦溪县|153","汀东区|154","莲花县|153","其它|154");function page_onload()
{
    SetProvince(document.addcom.area);
    SelectProvince(document.addcom.area,'南昌',document.addcom.qy,'东湖区');
}
page_onload();//初始化省分列表
function SetProvince(obj){
    FillSelectOption(obj,ProvinceList);
}//动态改变城市列表
function SetCity(obj,obj2){
    obj2.options.length = 0;
    if(obj.options[obj.selectedIndex].value == "")
    {
        FillSelectOption(obj2,Province_none);
    }else{
        if(eval("Province" + obj.options[obj.selectedIndex].value + ".length") >= 1)
        {
            FillSelectOption(obj2,eval("Province" + obj.options[obj.selectedIndex].value));
        }else{
            FillSelectOption(obj2,new Array(obj.options[obj.selectedIndex].text+"|"+obj.options[obj.selectedIndex].value));
        }
    }
}//添加列表框新项目
function FillSelectOption(obj,arr)
{
    var OptValue;
    var OptCount = obj.options.length;
    for(var i=0;i<arr.length;i++)
    {
        var newOpt = new Option;
        OptValue = arr[i].split('|');
        newOpt.value = OptValue[0];
        newOpt.text = OptValue[0];
        obj.options[OptCount++] = newOpt;
    }
}function SelectProvince(obj,val,obj2,val2)
{
    var i,j;
    for(i=0;i<obj.options.length;i++)
    {
        if(obj.options[i].value == val)
        {
            obj.options[i].selected = true;
            SetCity(obj,obj2);
            for(j=0;j<obj2.options.length;j++)
            {
                if(obj2.options[j].value == val2)
                {
                    obj2.options[j].selected = true;
                }
            }
        }
    }
}
</script>

解决方案 »

  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 init(){
    AddOptions(dltProvince,eval('arr'));
    AddOptions(dltCity,eval('arr'+dltProvince.selectedIndex));
    AddOptions(dltArea,eval('arr'+dltProvince.selectedIndex+dltCity.selectedIndex));
    }
    </script>
    </head>
    <body onLoad="init();">
    <table width="300" cellpading="0" cellspacing="0" border="0">
    <tr>
    <td width="100"><select id="dltProvince" onchange="AddOptions(dltCity,eval('arr'+dltProvince.selectedIndex));AddOptions(dltArea,eval('arr'+dltProvince.selectedIndex+dltCity.selectedIndex));" style="width:100%"></select>
    </td>
    <td width="100"><select id="dltCity" onchange="AddOptions(dltArea,eval('arr'+dltProvince.selectedIndex+dltCity.selectedIndex));" style="width:100%"></select>
    </td>
    <td width="100"><select id="dltArea" style="width:100%"></select>
    </td>
    </tr>
    </table>
    </body>
    </html>