<script language=JavaScript>
var selects=[];
selects['xxx']=new Array(new Option('请选择城市……','xxx'));
selects['0']=new Array(
new Option('北京市','1'));
selects['1']=new Array(
new Option('合肥市','1'));
selects['2']=new Array(
new Option('济南市','1'));
selects['3']=new Array(
new Option('南京市','1'));
selects['4']=new Array(
new Option('上海市','1'));
selects['5']=new Array(
new Option('广州市','1'));
selects['6']=new Array(
new Option('杭州市','1'));
selects['7']=new Array(
new Option('福州市','1'));
selects['8']=new Array(
new Option('重庆市','1'));
//Add Script By DigitalTitan Begin
selects['9']=new Array(
new Option('沈阳市','1'));
//Add End function chsel(){
with (document.shouhuoxx){
if(szSheng.value) {
szShi.options.length=0;
for(var i=0;i<selects[szSheng.value].length;i++){
szShi.add(selects[szSheng.value][i]);
}
}
}
}
</script>
  <form name=shouhuoxx method=post>
<select size="1" name="szSheng" onChange=chsel()>
          <option value="xxx" selected>请选择省份……</option>
          <option value="0">北京</option>
          <option value="1">安徽省</option>
          <option value="2">山东省</option>
          <option value="3">江苏省</option>
          <option value="4">上海市</option>
          <option value="5">广东省</option>
          <option value="6">浙江省</option>
          <option value="7">福建省</option>
          <option value="8">重庆市</option>
<!--Add Element By DigitalTitan Begin-->
          <option value="9">沈阳市</option>
<!--Add End-->
        </select> <select size="1" name="szShi">
          <option value="xxx" selected>请选择城市……</option>
        </select> 
  </form>
<script>

解决方案 »

  1.   

    <script language=JavaScript>
    var selects=[];
    selects['xxx']=new Array(new Option('请选择城市……','xxx'));
    selects['0']=new Array(
    new Option('北京市','1'));
    selects['1']=new Array(
    new Option('合肥市','1'));
    selects['2']=new Array(
    new Option('济南市','1'));
    selects['3']=new Array(
    new Option('南京市','1'));
    selects['4']=new Array(
    new Option('上海市','1'));
    selects['5']=new Array(
    new Option('广州市','1'));
    selects['6']=new Array(
    new Option('杭州市','1'));
    selects['7']=new Array(
    new Option('福州市','1'));
    selects['8']=new Array(
    new Option('重庆市','1'));
             //这里增加市
    selects['9']=new Array(
    new Option('XXX1','1'));
             selects['9']=new Array(
    new Option('XXX2','2'));
            //这里增加市 function chsel(){
    with (document.shouhuoxx){
    if(szSheng.value) {
    szShi.options.length=0;
    for(var i=0;i<selects[szSheng.value].length;i++){
    szShi.add(selects[szSheng.value][i]);
    }
    }
    }
    }
    </script>
      <form name=shouhuoxx method=post>
    <select size="1" name="szSheng" onChange=chsel()>
              <option value="xxx" selected>请选择省份……</option>
              <option value="0">北京</option>
              <option value="1">安徽省</option>
              <option value="2">山东省</option>
              <option value="3">江苏省</option>
              <option value="4">上海市</option>
              <option value="5">广东省</option>
              <option value="6">浙江省</option>
              <option value="7">福建省</option>
              <option value="8">重庆市</option>          //在这里添加省,注意value值要递增
              <option value="9">****</option>  
              //在这里添加省,注意value值要递增        </select> <select size="1" name="szShi">
              <option value="xxx" selected>请选择城市……</option>
            </select> 
      </form>
    <script>
      

  2.   

    SORY,我没说清楚,我是想在比如我选择省份为“北京”,那么就在另一个下拉框里出现所有的属于北京市的城市如:“北京,延庆,密云“,当我选择“安徽”另一个下拉框就出现“黄山,合肥,滁州,”等安徽的所有城市。
    对不起gjd111686(数字金刚)和woderoom(小杨)的帮助。
      

  3.   

    http://fason.nease.net/samples/bigarea/
      

  4.   

    利用XMLHTTP实现的二级连动Select.http://www.cnsxml.com/blogview.asp?logID=316
      

  5.   

    利用XMLHTTP实现的二级连动Select.这是继 "利用XMLHTTP无刷新获取数据" 的另一篇关于XMLHTTP的应用.
    关于XMLHTTP.可以说,是一个很好的接合剂.把客户端和服务端的距离拉近了.
    利用XMLHTTP.我们可以实现很多好的想法.这文章.实现了二级连动Select.
    传统二级连动是把所有的数据都传到有客户端..
    利用XMLHTTP.我们可以实时地返回我们所需要的数据.
    select.htm程序代码: 
    <script language="JavaScript">
    function GetResult(str)
    {
    /*
     *--------------- GetResult(str) -----------------
     * GetResult(str) 
     * 功能:通过XMLHTTP发送请求,返回结果.
     * 参数:str,字符串,发送条件.
     * 实例:GetResult(document.all.userid.value);
     * author:wanghr100(灰豆宝宝.net)
     * update:2004-5-27 19:02
     *--------------- GetResult(str) -----------------
     */
        var oBao = new ActiveXObject("Microsoft.XMLHTTP");
        oBao.open("POST","Server.asp?sel="+str,false);
        oBao.send();
        //服务器端处理返回的是经过escape编码的字符串.
        //通过XMLHTTP返回数据,开始构建Select.
        BuildSel(unescape(oBao.responseText),document.all.sel2)
    }function BuildSel(str,sel)
    {
    /*
     *--------------- BuildSel(str,sel) -----------------
     * BuildSel(str,sel) 
     * 功能:通过str构建Select.
     * 参数:str,字符串,由服务端返回的.有特定结构"字符串1,字符串2,字符串3"
     * 参数:sel,要构建的Select
     * 实例:BuildSel(unescape(oBao.responseText),document.all.sel2)
     * author:wanghr100(灰豆宝宝.net)
     * update:2004-5-27 19:02
     *--------------- BuildSel(str,sel) -----------------
     */
        //先清空原来的数据.
        sel.options.length=0;
        var arrstr = new Array();
        arrstr = str.split(",");
        //开始构建新的Select.
        for(var i=0;i<arrstr.length;i++)
        {
            sel.options[sel.options.length]=new Option(arrstr[i],arrstr[i])
        }
    }
    </script>
    <select name="sel" onChange="GetResult(this.value)">
    <option value="">请选择
    <option value="福建省">福建省
    <option value="湖北省">湖北省
    <option value="辽宁省">辽宁省
    <select>
    <select name="sel2"></select>  
     server.asp  服务器端处理.
    程序代码: 
    <% @Language="JavaScript" %>
    <%
    function OpenDB(sdbname)
    {
    /*
     *--------------- OpenDB(sdbname) -----------------
     * OpenDB(sdbname) 
     * 功能:打开数据库sdbname,返回conn对象.
     * 参数:sdbname,字符串,数据库名称.
     * 实例:var conn = OpenDB("database.mdb");
     * author:wanghr100(灰豆宝宝.net)
     * update:2004-5-12 8:18
     *--------------- OpenDB(sdbname) -----------------
     */
        var connstr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(sdbname);
        var conn = Server.CreateObject("ADODB.Connection");
        conn.Open(connstr);
        return conn;
    }
    var oConn = OpenDB("data.mdb");
    var province = Request("sel");
    var arrResult = new Array();
    var sql = "select city from china where province='"+province+"'";
    var rs = Server.CreateObject("ADODB.Recordset");
    rs.Open(sql,oConn,1,1);
    while(!rs.EOF)
    {
        //遍历所有适合的数据放入arrResult数组中.
        arrResult[arrResult.length] = rs("city").Value;
        rs.MoveNext();
    }
    //escape解决了XMLHTTP。中文处理的问题.
    //数组组合成字符串.由","字符串连接.
    Response.Write(escape(arrResult.join(",")));
    %> 
     数据库设计
    data.mdb
    表china.
    字段
    id  自动编号
    province 文本
    city  文本表:china 数据: 
    id province city
    1 福建省  福州市
    2 福建省  厦门市
    3 福建省  泉州市
    4 湖北省  武汉市
    5 湖北省  荆州市
    6 湖北省  宜昌市
    7 辽宁省  沈阳市
    8 辽宁省  大连市
    9 辽宁省  盘锦市
      

  6.   

    给你一个很好的程序,直接用就可以了<form action="http://www.chinaleader.com/cgi-bin/register.cgi" method=post name="creator" enctype="multipart/form-data"><script language="javascript">
    <!--
    var where = new Array(35); 
    function comefrom(loca,locacity) { this.loca = loca; this.locacity = locacity; } 
    where[0]= new comefrom("请选择省份名","请选择城市名");
    where[1] = new comefrom("北京","|东城|西城|崇文|宣武|朝阳|丰台|石景山|海淀|门头沟|房山|通州|顺义|昌平|大兴|平谷|怀柔|密云|延庆"); 
    where[2] = new comefrom("上海","|黄浦|卢湾|徐汇|长宁|静安|普陀|闸北|虹口|杨浦|闵行|宝山|嘉定|浦东|金山|松江|青浦|南汇|奉贤|崇明"); 
    where[3] = new comefrom("天津","|和平|东丽|河东|西青|河西|津南|南开|北辰|河北|武清|红挢|塘沽|汉沽|大港|宁河|静海|宝坻|蓟县"); 
    where[4] = new comefrom("重庆","|万州|涪陵|渝中|大渡口|江北|沙坪坝|九龙坡|南岸|北碚|万盛|双挢|渝北|巴南|黔江|长寿|綦江|潼南|铜梁|大足|荣昌|壁山|梁平|城口|丰都|垫江|武隆|忠县|开县|云阳|奉节|巫山|巫溪|石柱|秀山|酉阳|彭水|江津|合川|永川|南川"); 
    where[5] = new comefrom("河北","|石家庄|邯郸|邢台|保定|张家口|承德|廊坊|唐山|秦皇岛|沧州|衡水"); 
    where[6] = new comefrom("山西","|太原|大同|阳泉|长治|晋城|朔州|吕梁|忻州|晋中|临汾|运城"); 
    where[7] = new comefrom("内蒙古","|呼和浩特|包头|乌海|赤峰|呼伦贝尔盟|阿拉善盟|哲里木盟|兴安盟|乌兰察布盟|锡林郭勒盟|巴彦淖尔盟|伊克昭盟"); 
    where[8] = new comefrom("辽宁","|沈阳|大连|鞍山|抚顺|本溪|丹东|锦州|营口|阜新|辽阳|盘锦|铁岭|朝阳|葫芦岛"); 
    where[9] = new comefrom("吉林","|长春|吉林|四平|辽源|通化|白山|松原|白城|延边"); 
    where[10] = new comefrom("黑龙江","|哈尔滨|齐齐哈尔|牡丹江|佳木斯|大庆|绥化|鹤岗|鸡西|黑河|双鸭山|伊春|七台河|大兴安岭"); 
    where[11] = new comefrom("江苏","|南京|镇江|苏州|南通|扬州|盐城|徐州|连云港|常州|无锡|宿迁|泰州|淮安"); 
    where[12] = new comefrom("浙江","|杭州|宁波|温州|嘉兴|湖州|绍兴|金华|衢州|舟山|台州|丽水"); 
    where[13] = new comefrom("安徽","|合肥|芜湖|蚌埠|马鞍山|淮北|铜陵|安庆|黄山|滁州|宿州|池州|淮南|巢湖|阜阳|六安|宣城|亳州"); 
    where[14] = new comefrom("福建","|福州|厦门|莆田|三明|泉州|漳州|南平|龙岩|宁德"); 
    where[15] = new comefrom("江西","|南昌市|景德镇|九江|鹰潭|萍乡|新馀|赣州|吉安|宜春|抚州|上饶"); 
    where[16] = new comefrom("山东","|济南|青岛|淄博|枣庄|东营|烟台|潍坊|济宁|泰安|威海|日照|莱芜|临沂|德州|聊城|滨州|菏泽"); 
    where[17] = new comefrom("河南","|郑州|开封|洛阳|平顶山|安阳|鹤壁|新乡|焦作|濮阳|许昌|漯河|三门峡|南阳|商丘|信阳|周口|驻马店|济源"); 
    where[18] = new comefrom("湖北","|武汉|宜昌|荆州|襄樊|黄石|荆门|黄冈|十堰|恩施|潜江|天门|仙桃|随州|咸宁|孝感|鄂州");
    where[19] = new comefrom("湖南","|长沙|常德|株洲|湘潭|衡阳|岳阳|邵阳|益阳|娄底|怀化|郴州|永州|湘西|张家界"); 
    where[20] = new comefrom("广东","|广州|深圳|珠海|汕头|东莞|中山|佛山|韶关|江门|湛江|茂名|肇庆|惠州|梅州|汕尾|河源|阳江|清远|潮州|揭阳|云浮"); 
    where[21] = new comefrom("广西","|南宁|柳州|桂林|梧州|北海|防城港|钦州|贵港|玉林|南宁地区|柳州地区|贺州|百色|河池"); 
    where[22] = new comefrom("海南","|海口|三亚"); 
    where[23] = new comefrom("四川","|成都|绵阳|德阳|自贡|攀枝花|广元|内江|乐山|南充|宜宾|广安|达川|雅安|眉山|甘孜|凉山|泸州"); 
    where[24] = new comefrom("贵州","|贵阳|六盘水|遵义|安顺|铜仁|黔西南|毕节|黔东南|黔南"); 
    where[25] = new comefrom("云南","|昆明|大理|曲靖|玉溪|昭通|楚雄|红河|文山|思茅|西双版纳|保山|德宏|丽江|怒江|迪庆|临沧");
    where[26] = new comefrom("西藏","|拉萨|日喀则|山南|林芝|昌都|阿里|那曲"); 
    where[27] = new comefrom("陕西","|西安|宝鸡|咸阳|铜川|渭南|延安|榆林|汉中|安康|商洛"); 
    where[28] = new comefrom("甘肃","|兰州|嘉峪关|金昌|白银|天水|酒泉|张掖|武威|定西|陇南|平凉|庆阳|临夏|甘南"); 
    where[29] = new comefrom("宁夏","|银川|石嘴山|吴忠|固原"); 
    where[30] = new comefrom("青海","|西宁|海东|海南|海北|黄南|玉树|果洛|海西"); 
    where[31] = new comefrom("新疆","|乌鲁木齐|石河子|克拉玛依|伊犁|巴音郭勒|昌吉|克孜勒苏柯尔克孜|博尔塔拉|吐鲁番|哈密|喀什|和田|阿克苏"); 
    where[32] = new comefrom("香港",""); 
    where[33] = new comefrom("澳门",""); 
    where[34] = new comefrom("台湾","|台北|高雄|台中|台南|屏东|南投|云林|新竹|彰化|苗栗|嘉义|花莲|桃园|宜兰|基隆|台东|金门|马祖|澎湖"); 
    where[35] = new comefrom("其它","|北美洲|南美洲|亚洲|非洲|欧洲|大洋洲"); 
    function select() {
    with(document.creator.province) { var loca2 = options[selectedIndex].value; }
    for(i = 0;i < where.length;i ++) {
    if (where[i].loca == loca2) {
    loca3 = (where[i].locacity).split("|");
    for(j = 0;j < loca3.length;j++) { with(document.creator.city) { length = loca3.length; options[j].text = loca3[j]; options[j].value = loca3[j]; var loca4=options[selectedIndex].value;}}
    break;
    }}
    document.creator.newlocation.value=loca2+loca4;
    }
    function init() {
    with(document.creator.province) {
    length = where.length;
    for(k=0;k<where.length;k++) { options[k].text = where[k].loca; options[k].value = where[k].loca; }
    options[selectedIndex].text = where[0].loca; options[selectedIndex].value = where[0].loca;
    }
    with(document.creator.city) {
    loca3 = (where[0].locacity).split("|");
    length = loca3.length;
    for(l=0;l<length;l++) { options[l].text = loca3[l]; options[l].value = loca3[l]; }
    options[selectedIndex].text = loca3[0]; options[selectedIndex].value = loca3[0];
    }}
    -->
    </script>
    <body onload="init()">
    <font color=#000000><b>来自:</b><br>请输入您所在国家的具体地方。此项可选<br><br>
    省份 <select name="province" onChange = "select()"></select> 城市 <select name="city" onChange = "select()"></select><br>
    我在 <input type=text name="newlocation" maxlength=12 size=12 style="font-weight: bold"> 不能超过12个字符(6个汉字)
    </form>
      

  7.   

    多级连动http://www.51windows.net/myjs/?u=/hw/asp/jsview.asp?id=242
    http://www.51windows.net/myjs/?u=/hw/asp/jsview.asp?id=347