<script language="JavaScript">
<!--
var subcat = new Array();
subcat[0] = new Array('直辖市','北京')
subcat[1] = new Array('直辖市','上海')
subcat[2] = new Array('直辖市','天津')
subcat[3] = new Array('直辖市','重庆')
subcat[4] = new Array('河北','石家庄')
subcat[5] = new Array('河北','保定')
subcat[6] = new Array('河北','张家口')
subcat[7] = new Array('河北','承德')
subcat[8] = new Array('河北','唐山')
subcat[9] = new Array('河北','廊坊')
subcat[10] = new Array('河北','沧州')function changeselect1(locationid)
{
document.form1.city.length = 0;
document.form1.city.options[0] = new Option('==请选择市==','');
for (i=0; i<subcat.length; i++)
{
if (subcat[i][0] == locationid)
{document.form1.city.options[document.form1.city.length] = new Option(subcat[i][1], subcat[i][2]);}
}
}
//-->
</script>列表:
<select name="state" onChange="changeselect1(this.value)">
                    <option value="">==请选择省==</option>
                    <option value="直辖市">直辖市</option>
                    <option value="河北">河北</option>
                   </select>
                  <select name="city" >
                    <option value="">==请选择市==</option>
                  </select>

解决方案 »

  1.   

    </script>
    <script language="JavaScript">function validate(theform)
    {//alert(document.all.city.value);if (document.all.city.value == "")
    {
            alert("城市值非空");
            return false;
    }else{
    return true;
    }
    }
    </script>
    <form method="post" name="form1" action="#" enctype="multipart/form-data" onSubmit="return validate(this)">
    <tr>
    <td bgcolor="#F8F8F8" width="20%">选择城市:</td>
    <td bgcolor="#FFFFFF"><select name="city"onChange=changelocation(this.value)>
      <option value="" selected>>>>>请选择<<<<</option>
      <OPTION value='1' >北京</OPTION><OPTION value='2' >上海</OPTION><OPTION value='3' >湖南 </OPTION>
      </select></td>
    </tr>
    <tr>
    <td bgcolor="#F8F8F8" width="20%">选择市或者城区:</td>
    <td bgcolor="#FFFFFF">  <select name="area">
     <SCRIPT language=JavaScript>
     var onecount;
     onecount=0;
     subcat = new Array();
     subcat[0] = new Array(1,'东城');
     subcat[1] = new Array(1,'西城');
     subcat[2] = new Array(1,'丰台');
     subcat[3] = new Array(1,'海淀');
     subcat[4] = new Array(1,'通州');
     subcat[5] = new Array(1,'其它区');
     subcat[6] = new Array(2,'奉贤');
     subcat[7] = new Array(2,'南汇');
     subcat[8] = new Array(2,'青浦');
     subcat[9] = new Array(2,'松江');
     subcat[10] = new Array(2,'徐汇');
     subcat[11] = new Array(2,'浦东');
     subcat[12] = new Array(3,'长沙');
     subcat[13] = new Array(3,'永州');
     subcat[14] = new Array(3,'衡阳');
     onecount=15;
     function changelocation(locationid)
     {  
      
      document.all.area.length = 0;
      var locationid=locationid;
      var i,flag=0;
      for (i=0;i < onecount; i++)
      {
      if (subcat[i][0] == locationid)
      {
      document.all.area.options[document.all.area.length] = new Option(subcat[i][1]);
      flag=1;
      }
      }
      if (flag==0)
      {document.all.options.options[document.all.area.length] = new Option('>>>>选择市或者区<<<<');
      }
     }</SCRIPT>
      <option value="" selected>>>>>选择市或者区<<<<</option>
      </select></td>
    </tr>
    <input type="submit" name="topicsubmit" value="提交" tabindex="5">
    </form>
      

  2.   

    因今天有新的项目下来所以这个功能点暂时没动,在这里先感谢Fibona(Fibona) 及 huili46(一路走来) 所给的示例代码,使我有了点这方面的头绪,先谢谢大家了
      

  3.   


    一三级连动下拉地区
    <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>
      

  4.   

    万分感谢各位兄弟的帮助,这个功能我昨天已经完成,因为昨天公司网线段了所以未能及时上线回复,请各位原谅。
    虽然今天才看到hunterxing2()兄的留言,但还是万分感谢兄弟的支持,本人还是菜鸟,望以后各位大哥能够多多帮忙,谢谢