<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function loadctlSelect(ctl, value, ctlIDs)
{
// debug in IE 6.0
// power by blueDestiny, never-online; var nodes;
var ctlClear;
var ctlID = /,/.test(ctlIDs) ? ctlIDs.split(",") : ctlIDs;
var ctlSelect = document.getElementById(ctl);
if( typeof(ctlID)=='string' )
{
ctlClear = document.getElementById(ctlID)
ctlClear.options.length=0;
ctlClear.options.add(new Option('请选择', ''))
}
else
{
for(var i=0; i<ctlID.length; i++)
{
ctlClear = document.getElementById(ctlID[i]);
ctlClear.options.length=0;
ctlClear.options.add(new Option('请选择', ''))
}
}
nodes = document.getElementById("xmldata").childNodes[0].childNodes;
for(var i=0; i<nodes.length; i++)
if( nodes[i].getAttribute("pid")==value )
ctlSelect.options.add(new Option(nodes[i].getAttribute("name"), nodes[i].getAttribute("id")))
}
//-->
</SCRIPT>
<xml id="xmldata">
<xmldata>
<class id="1" pid="0" name="广西" />
<class id="2" pid="0" name="广东" />
<class id="3" pid="1" name="桂林" />
<class id="4" pid="1" name="南宁" />
<class id="5" pid="2" name="广州" />
<class id="6" pid="2" name="深圳" />
<class id="7" pid="3" name="七星区" />
<class id="9" pid="7" name="桂林电子工业学院" />
<class id="11" pid="4" name="大学东路" />
<class id="12" pid="11" name="广西大学" />
<class id="13" pid="5" name="天河区" />
<class id="14" pid="13" name="天河区体育场" />
<class id="15" pid="6" name="深圳XXX路" />
<class id="16" pid="15" name="深圳XXX号" />
<class id="17" pid="9" name="计算机系" />
<class id="18" pid="16" name="YYY" />
<class id="19" pid="12" name="数电系" />
<class id="20" pid="14" name="座位00#" />
</xmldata>
</xml>
</HEAD>
<BODY onload='loadctlSelect("s1","0","s1,s2,s3,s4,s5");'>
<select id="s1" onchange="loadctlSelect('s2',this.value,'s2,s3,s4,s5')"></select>
<select id="s2" onchange="loadctlSelect('s3',this.value,'s3,s4,s5')"></select>
<select id="s3" onchange="loadctlSelect('s4',this.value,'s4,s5,s5')"></select>
<select id="s4" onchange="loadctlSelect('s5',this.value,'s5')"></select>
<select id="s5"></select>
</BODY>
</HTML>

解决方案 »

  1.   

    简单中还有简单,四级关联,十行左右代码搞定quishuiwuhen写的<select name=year></select>
    <select name=month></select>
    <select name=date></select>
    <select name=clock></select>
    <input name=result>
    <script>
    var arrSel=["year","month","date","clock"];//arrSel定义了要修改的下拉框和xml数据的节点名称
    </script>
    <xml id=xmldata>
     <xmldata>
      <year value="2000">
       <month value="4">
        <date value="14">
         <clock value="一点" />
         <clock value="三点" />
        </date>
        <date value="17">
         <clock value="一点" />
        </date>
       </month>
       <month value="5">
        <date value="15">
         <clock value="一点" />
         <clock value="四点" />
         <clock value="七点" />
        </date>
       </month>
      </year>
      <year value="2001">
       <month value="7">
        <date value="16">
         <clock value="伊泽千夏 白石日和 爱田由" />
         <clock value="五点" />
         <clock value="九点" />
        </date>
       </month>
      </year>
     </xmldata>
    </xml>
    <script>
    function qswhXml(num){
    /******* by qiushuiwuhen(2002-5-17) ********/
     var i,j,arrTemp=[];
     for(i=0;i<num;i++)arrTemp[i]=document.all(arrSel[i]).options[document.all(arrSel[i]).selectedIndex].text
     if(num==arrSel.length){//这里处理最后的数据。
      document.all("result").value="选中了("+arrTemp+")";return;
     }
     with(document.all(arrSel[num])){
      length=0
      var obj=document.all.xmldata.XMLDocument.childNodes[0];
      for(i=0;i<num;i++)obj=obj.selectSingleNode(arrSel[i]+'[@value="'+arrTemp[i]+'"]');
      for(i=0;i<obj.childNodes.length;i++)options[length++].text=obj.childNodes[i].getAttribute("value");
      onchange=new Function("qswhXml("+(num+1)+")");
      onchange();
     }
    }
    qswhXml(0);
    </script>
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function loadctlSelect(ctl, value, ctlIDs)
    {
    // debug in IE 6.0
    // power by blueDestiny, never-online; var nodes;
    var ctlClear;
    var ctlID = ctlIDs.split(",");
    var ctlSelect = document.getElementById(ctl);
    for(var i=0; i<ctlID.length; i++)
    {
    ctlClear = document.getElementById(ctlID[i]);
    ctlClear.options.length=0;
    ctlClear.options.add(new Option('请选择', ''))
    } nodes = document.getElementById("xmldata").childNodes[0].childNodes;
    for(var i=0; i<nodes.length; i++)
    if( nodes[i].getAttribute("pid")==value )
    ctlSelect.options.add(new Option(nodes[i].getAttribute("name"), nodes[i].getAttribute("id")))
    }
    //-->
    </SCRIPT>
    <xml id="xmldata">
    <xmldata>
    <class id="1" pid="0" name="广西" />
    <class id="2" pid="0" name="广东" />
    <class id="3" pid="1" name="桂林" />
    <class id="4" pid="1" name="南宁" />
    <class id="5" pid="2" name="广州" />
    <class id="6" pid="2" name="深圳" />
    <class id="7" pid="3" name="七星区" />
    <class id="9" pid="7" name="桂林电子工业学院" />
    <class id="11" pid="4" name="大学东路" />
    <class id="12" pid="11" name="广西大学" />
    <class id="13" pid="5" name="天河区" />
    <class id="14" pid="13" name="天河区体育场" />
    <class id="15" pid="6" name="深圳XXX路" />
    <class id="16" pid="15" name="深圳XXX号" />
    <class id="17" pid="9" name="计算机系" />
    <class id="18" pid="16" name="YYY" />
    <class id="19" pid="12" name="数电系" />
    <class id="20" pid="14" name="座位00#" />
    </xmldata>
    </xml>
    </HEAD>
    <BODY onload='loadctlSelect("s1","0","s1,s2,s3,s4,s5");'>
    <select id="s1" onchange="loadctlSelect('s2',this.value,'s2,s3,s4,s5')"></select>
    <select id="s2" onchange="loadctlSelect('s3',this.value,'s3,s4,s5')"></select>
    <select id="s3" onchange="loadctlSelect('s4',this.value,'s4,s5,s5')"></select>
    <select id="s4" onchange="loadctlSelect('s5',this.value,'s5')"></select>
    <select id="s5"></select>
    </BODY>
    </HTML>
      

  3.   

    不一样了,不过我怎么改也不能在firefox下正常运行,不过我那个可以运行的
      

  4.   

    不解~,我的不能运行?当然不能在ff里运行了~,ff不支持数据岛
      

  5.   

    下面这个是我新写的,看看如何?<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head><body><form name="form1" method="post">
    <select id="s1" name="s1"></select><select id="s2" name="s2"></select><select id="s3" name="s3"></select><select id="s4" name="s4"></select>
    </form>
    <script language="JavaScript">
    <!--
    function LianDong(arr, sel)
    {
    var me = this;
    this.$ = function(o)
    {
    return document.getElementById(o);
    } this.sub = function (i, pid)
    {
    for (var j=i+1; j<sel.length; j++)
    {
    me.$(sel[j]).length = 0;
    me.$(sel[j]).options[0] = new Option("请选择", "");
    }
    for ( var j = 0; j < arr.length; j++)
    {
    if (arr[j][1] == pid)
    {
    me.$(sel[i+1]).options[me.$(sel[i+1]).length] = new Option(arr[j][2], arr[j][0]);
    }
    }
    } this.init = function()
    {
    me.sub(-1,"root");
    for (var i=0; i<sel.length-1; i++)
    {
    me.$(sel[i]).onchange = function()
    {
    var i;
    for (i=0; me.$(sel[i])!=this; i++);
    me.sub(i, me.$(sel[i]).value);
    }
    }
    } this.init();
    }var array=new Array();
    array[0]=new Array("华南地区","root","华南地区");
    array[1]=new Array("华北地区","root","华北地区");
    array[2]=new Array("上海","华南地区","上海");
    array[3]=new Array("广东","华南地区","广东");
    array[4]=new Array("徐家汇","上海","徐家汇");
    array[5]=new Array("普托","上海","普托");
    array[6]=new Array("广州","广东","广州");
    array[7]=new Array("湛江","广东","湛江");
    array[8]=new Array("湛江1","湛江","湛江1");
    array[9]=new Array("湛江2","湛江","湛江2");
    array[10]=new Array("广州1","广州","广州1");
    array[11]=new Array("广州2","广州","广州2");var select = new Array("s1","s2","s3","s4");var liandong=new LianDong(array, select)
    //-->
    </script></body>
    </html>
      

  6.   

    呵呵,GUET的兄弟????????????
      

  7.   

    加了一个设置默认值的方法<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>小灰</title>
    </head><body><form name="form1" method="post">
    <select id="s1" name="s1"></select><select id="s2" name="s2"></select><select id="s3" name="s3"></select><select id="s4" name="s4"></select>
    </form>
    <script language="JavaScript">
    <!--
    function LianDong(arr, sel)
    {
     var me = this;
     this.$ = function(o)
     {
      return document.getElementById(o);
     } this.sub = function (i, pid)
     {
      for (var j=i+1; j<sel.length; j++)
      {
       me.$(sel[j]).length = 0;
       me.$(sel[j]).options[0] = new Option("请选择", "");
      }
      for ( var j = 0; j < arr.length; j++)
      {
       if (arr[j][1] == pid)
       {
        me.$(sel[i+1]).options[me.$(sel[i+1]).length] = new Option(arr[j][2], arr[j][0]);
       }
      }
     } this.init = function()
     {
      me.sub(-1,"root");
      for (var i=0; i<sel.length-1; i++)
      {
       me.$(sel[i]).onchange = function()
       {
        var i;
        for (i=0; me.$(sel[i])!=this; i++);
        me.sub(i, me.$(sel[i]).value);
       }
      }
     }
     this.SetValue = function()
     {
      for (var i=0; i<arguments.length-1; i++)
      {
       me.$(sel[i]).value = arguments[i];
       me.sub(i, me.$(sel[i]).value);
      }
      me.$(sel[arguments.length-1]).value = arguments[arguments.length-1];
     } this.init();
    }var array=new Array();
    array[0]=new Array("华南地区","root","华南地区");
    array[1]=new Array("华北地区","root","华北地区");
    array[2]=new Array("上海","华南地区","上海");
    array[3]=new Array("广东","华南地区","广东");
    array[4]=new Array("徐家汇","上海","徐家汇");
    array[5]=new Array("普托","上海","普托");
    array[6]=new Array("广州","广东","广州");
    array[7]=new Array("湛江","广东","湛江");
    array[8]=new Array("湛江1","湛江","湛江1");
    array[9]=new Array("湛江2","湛江","湛江2");
    array[10]=new Array("广州1","广州","广州1");
    array[11]=new Array("广州2","广州","广州2");var select = new Array("s1","s2","s3","s4");var liandong=new LianDong(array, select)liandong.SetValue('华南地区','广东','广州','广州1');
    //-->
    </script></body>
    </html>
      

  8.   

    this.$ ?
    小灰,JS1.1以下版本会不会不支持“$”标识符?
      

  9.   

    /*
    #   信息: 
    # city for esales province  selected       
    # 作者:
    #   gt   2006-01-09 
    # 接口:document.form.select_Province_name
    #  showProvince(select_Province_name); onChange="showCity(select_Province_name,select_Province_name.value,select_City_name);"---显示列表
    #  selectProvince(select_Province_name,value,select_City_name);---选择列表,同时刷新select_City
    #  selectCity(select_City_name,value);---选择列表select_City  returnProvince();returnCity();
    */
      Province = new Array;
      ProVal = new Array;
      City = new Array;  
      CityVal = new Array;
      
    I=0;Province[I] = "北京市";
    ProVal[I] = "01";
    City[I] = new Array("北京市","- 北京");
    CityVal[I] = new Array("01","0101");
    I++;Province[I] = "上海市";
    ProVal[I] = "02";
    City[I] = new Array("上海市","- 上海");
    CityVal[I] = new Array("02","0201");
    I++;Province[I] = "重庆市";
    ProVal[I] = "03";
    City[I] = new Array("重庆市","- 重庆");
    CityVal[I] = new Array("03","0301");
    I++;Province[I] = "黑龙江省";
    ProVal[I] = "04";
    City[I] = new Array("黑龙江省","- 哈尔滨","- 七台河","- 齐齐哈尔","- 牡丹江","- 佳木斯","- 绥化","- 黑河","- 大兴安岭","- 伊春","- 大庆","- 鸡西","- 鹤岗","- 双鸭山");
    CityVal[I] = new Array("04","0401","0402","0403","0404","0405","0406","0407","0408","0409","0410","0411","0412","0413");
    I++;Province[I] = "河北省";
    ProVal[I] = "05";
    City[I] = new Array("河北省","- 邯郸","- 石家庄","- 保定","- 张家口","- 承德","- 唐山","- 廊坊","- 沧州","- 衡水","- 邢台","- 秦皇岛");
    CityVal[I] = new Array("05","0501","0502","0503","0504","0505","0506","0507","0508","0509","0510","0511");
    I++;Province[I] = "吉林省";
    ProVal[I] = "06";
    City[I] = new Array("吉林省","- 长春","- 吉林","- 延吉","- 四平","- 通化","- 白城","- 辽源","- 松源","- 白山","- 珲春","- 梅河");
    CityVal[I] = new Array("06","0601","0602","0603","0604","0605","0606","0607","0608","0609","0610","0611");
    I++;Province[I] = "辽宁省";
    ProVal[I] = "07";
    City[I] = new Array("辽宁省","- 沈阳","- 铁岭","- 大连","- 鞍山","- 抚顺","- 本溪","- 丹东","- 锦州","- 营口","- 阜新","- 朝阳","- 辽阳","- 盘锦","- 锦西");
    CityVal[I] = new Array("07","0701","0702","0703","0704","0705","0706","0707","0708","0709","0710","0711","0712","0713","0714");
    I++;Province[I] = "河南省";
    ProVal[I] = "08";
    City[I] = new Array("河南省","- 商丘","- 郑州","- 安阳","- 新乡","- 许昌","- 平顶山","- 信阳","- 南阳","- 开封","- 洛阳","- 焦作","- 鹤壁","- 濮阳","- 周口","- 漯河","- 驻马店","- 潢川","- 三门峡");
    CityVal[I] = new Array("08","0801","0802","0803","0804","0805","0806","0807","0808","0809","0810","0811","0812","0813","0814","0815","0816","0817","0818");
    I++;Province[I] = "山东省";
    ProVal[I] = "09";
    City[I] = new Array("山东省","- 菏泽","- 济南","- 青岛","- 淄博","- 德州","- 烟台","- 潍坊","- 济宁","- 泰安","- 临沂","- 滨州","- 东营","- 威海","- 枣庄","- 日照","- 莱芜","- 聊城");
    CityVal[I] = new Array("09","0901","0902","0903","0904","0905","0906","0907","0908","0909","0910","0911","0912","0913","0914","0915","0916","0917");
    I++;Province[I] = "山西省";
    ProVal[I] = "10";
    City[I] = new Array("山西省","- 朔州","- 忻州","- 太原","- 大同","- 阳泉","- 榆次","- 长治","- 晋城","- 临汾","- 离石","- 运城");
    CityVal[I] = new Array("10","1001","1002","1003","1004","1005","1006","1007","1008","1009","1010","1011");
    I++;Province[I] = "陕西省";
    ProVal[I] = "11";
    City[I] = new Array("陕西省","- 西安","- 咸阳","- 延安","- 榆林","- 渭南","- 商州","- 安康","- 汉中","- 宝鸡","- 铜川");
    CityVal[I] = new Array("11","1101","1102","1103","1104","1105","1106","1107","1108","1109","1110");
    I++;Province[I] = "天津市";
    ProVal[I] = "12";
    City[I] = new Array("天津市","- 天津");
    CityVal[I] = new Array("12","1201");
    I++;Province[I] = "甘肃省";
    ProVal[I] = "13";
    City[I] = new Array("甘肃省","- 临夏","- 兰州","- 定西","- 平凉","- 西峰","- 武威","- 张掖","- 酒泉","- 天水","- 武都","- 合作","- 白银");
    CityVal[I] = new Array("13","1301","1302","1303","1304","1305","1306","1307","1308","1309","1310","1311","1312");
    I++;Province[I] = "宁夏自治区";
    ProVal[I] = "14";
    City[I] = new Array("宁夏自治区","- 银川","- 石咀山","- 吴忠","- 固原");
    CityVal[I] = new Array("14","1401","1402","1403","1404");
    I++;Province[I] = "内蒙古自治区";
    ProVal[I] = "15";
    City[I] = new Array("内蒙古自治区","- 海拉尔","- 呼和浩特","- 包头","- 乌海","- 集宁","- 通辽","- 赤峰","- 鄂尔多斯","- 巴彦淖尔","- 锡林浩特","- 鸟兰浩特","- 阿拉善左旗");
    CityVal[I] = new Array("15","1501","1502","1503","1504","1505","1506","1507","1508","1509","1510","1511","1512");
    I++;Province[I] = "青海省";
    ProVal[I] = "16";
    City[I] = new Array("青海省","- 海晏","- 西宁","- 平安","- 同仁","- 共和","- 玛沁","- 玉树","- 德令哈","- 门源","- 格尔木");
    CityVal[I] = new Array("16","1601","1602","1603","1604","1605","1606","1607","1608","1609","1610");
    I++;Province[I] = "新疆自治区";
    ProVal[I] = "17";
    City[I] = new Array("新疆自治区","- 塔城","- 阿勒泰","- 克拉玛依","- 乌鲁木齐","- 奎屯","- 石河子","- 昌吉","- 吐鲁番","- 库尔勒","- 阿克苏","- 咯会","- 伊宁","- 哈密","- 各田","- 阿图什","- 博乐");
    CityVal[I] = new Array("17","1701","1702","1703","1704","1705","1706","1707","1708","1709","1710","1711","1712","1713","1714","1715","1716");
    I++;Province[I] = "西藏自治区";
    ProVal[I] = "18";
    City[I] = new Array("西藏自治区","- 拉萨","- 日喀则","- 山南","- 林芝","- 昌都","- 那曲","- 噶尔");
    CityVal[I] = new Array("18","1801","1802","1803","1804","1805","1806","1807");
    I++;Province[I] = "四川省";
    ProVal[I] = "19";
    City[I] = new Array("四川省","- 成都","- 涪陵","- 重庆","- 攀枝花","- 自贡","- 永川","- 温江","- 绵阳","- 南充","- 达川","- 万县","- 遂宁","- 广安","- 巴中","- 泸州","- 宜宾","- 内江","- 乐山","- 西昌","- 雅安","- 康定","- 马尔康","- 德阳","- 广元");
    CityVal[I] = new Array("19","1901","1902","1903","1904","1905","1906","1907","1908","1909","1910","1911","1912","1913","1914","1915","1916","1917","1918","1919","1920","1921","1922","1923","1924");
    I++;Province[I] = "湖北省";
    ProVal[I] = "20";
    City[I] = new Array("湖北省","- 武汉","- 襄樊","- 鄂州","- 孝感","- 黄冈","- 黄石","- 咸宁","- 荆州","- 宜昌","- 恩施","- 十堰","- 江汉","- 荆门","- 随州");
    CityVal[I] = new Array("20","2001","2002","2003","2004","2005","2006","2007","2008","2009","2010","2011","2012","2013","2014");
    I++;
      

  10.   


    Province[I] = "湖南省";
    ProVal[I] = "21";
    City[I] = new Array("湖南省","- 岳阳","- 长沙","- 湘潭","- 株州","- 衡阳","- 郴州","- 常德","- 益阳","- 娄底","- 邵阳","- 吉首","- 张家界","- 怀化","- 冷水滩");
    CityVal[I] = new Array("21","2101","2102","2103","2104","2105","2106","2107","2108","2109","2110","2111","2112","2113","2114");
    I++;Province[I] = "安徽省";
    ProVal[I] = "22";
    City[I] = new Array("安徽省","- 宣州","- 六安","- 巢湖","- 池州","- 滁州","- 合肥","- 蚌埠","- 芜湖","- 准南","- 马鞍山","- 安庆","- 宿州","- 阜阳","- 黄山","- 淮北","- 铜陵");
    CityVal[I] = new Array("22","2201","2202","2203","2204","2205","2206","2207","2208","2209","2210","2211","2212","2213","2214","2215","2216");
    I++;Province[I] = "江苏省";
    ProVal[I] = "23";
    City[I] = new Array("江苏省","- 南京","- 无锡","- 镇江","- 苏州","- 南通","- 扬州","- 盐城","- 徐州","- 准阴","- 连云港","- 常州","- 张家港","- 泰州","- 沭阳");
    CityVal[I] = new Array("23","2301","2302","2303","2304","2305","2306","2307","2308","2309","2310","2311","2312","2313","2314");
    I++;Province[I] = "江西省";
    ProVal[I] = "24";
    City[I] = new Array("江西省","- 新余","- 南昌","- 九江","- 上饶","- 抚州","- 宜春","- 吉安","- 赣州","- 景德镇","- 萍乡","- 鹰潭");
    CityVal[I] = new Array("24","2401","2402","2403","2404","2405","2406","2407","2408","2409","2410","2411");
    I++;Province[I] = "浙江省";
    ProVal[I] = "25";
    City[I] = new Array("浙江省","- 衢州","- 杭州","- 湖州","- 嘉兴","- 宁波","- 绍兴","- 台州","- 温州","- 丽水","- 金华","- 舟山");
    CityVal[I] = new Array("25","2501","2502","2503","2504","2505","2506","2507","2508","2509","2510","2511");
    I++;Province[I] = "福建省";
    ProVal[I] = "26";
    City[I] = new Array("福建省","- 福州","- 厦门","- 宁德","- 莆田","- 泉州","- 漳州","- 龙岩","- 三明","- 南平");
    CityVal[I] = new Array("26","2601","2602","2603","2604","2605","2606","2607","2608","2609");
    I++;Province[I] = "贵州省";
    ProVal[I] = "27";
    City[I] = new Array("贵州省","- 贵阳","- 遵义","- 安顺","- 都匀","- 凯里","- 铜仁","- 毕节","- 六盘水","- 兴义");
    CityVal[I] = new Array("27","2701","2702","2703","2704","2705","2706","2707","2708","2709");
    I++;Province[I] = "广西自治区";
    ProVal[I] = "28";
    City[I] = new Array("广西自治区","- 防城","- 南宁","- 柳州","- 桂林","- 梧州","- 玉林","- 百色","- 钦州","- 河池","- 北海");
    CityVal[I] = new Array("28","2801","2802","2803","2804","2805","2806","2807","2808","2809","2810");
    I++;Province[I] = "广东省";
    ProVal[I] = "29";
    City[I] = new Array("广东省","- 广州","- 江门","- 韶关","- 惠州","- 梅州","- 汕头","- 深圳","- 珠海","- 佛山","- 肇庆","- 湛江","- 中山","- 洒源","- 清远","- 顺德","- 云浮","- 潮州","- 东莞","- 汕尾","- 潮阳","- 阳江","- 揭阳","- 茂名");
    CityVal[I] = new Array("29","2901","2902","2903","2904","2905","2906","2907","2908","2909","2910","2911","2912","2913","2914","2915","2916","2917","2918","2919","2920","2921","2922","2923");
    I++;Province[I] = "云南省";
    ProVal[I] = "30";
    City[I] = new Array("云南省","- 昭通","- 昆明","- 大理","- 红河","- 曲靖","- 保山","- 文山","- 玉溪","- 楚雄","- 思茅","- 东川","- 临沧","- 怒江","- 德钦","- 丽江","- 西双版纳","- 德宏");
    CityVal[I] = new Array("30","3001","3002","3003","3004","3005","3006","3007","3008","3009","3010","3011","3012","3013","3014","3015","3016","3017");
    I++;Province[I] = "海南省";
    ProVal[I] = "31";
    City[I] = new Array("海南省","- 儋州","- 海口","- 三亚");
    CityVal[I] = new Array("31","3101","3102","3103");
    I++;
      
    Province[I] = "台湾省";
    ProVal[I] = "32";
    City[I] = new Array("台湾省","- 台中","- 台南","- 台北");
    CityVal[I] = new Array("32","3201","3202","3203");
    I++;
     function showCity(objous,selectvalue,obj)
     { 
       if(selectvalue=="")
       {
       SFclear(obj);
        return 0;
       }
       SFSelectLoc(objous,selectvalue,obj);   
       if(obj.length==0) SFfullup(obj, "--请选择--");
     }
     function addCity(obj,val)
     {
     val=val+"";
    for(I=0;I<ProVal.length;I++)
       {
    if(ProVal[I]==val.substring(0,2))
    {
    if(val.length==2)
    {
    SFwrite_option(obj,Province[I],ProVal[I]);
    return 0;
    }
    else
    {
    for(J=0;J<CityVal[I].length;J++)
    {
    if(CityVal[I][J]==val)
    {
    SFwrite_option(obj,City[I][J],CityVal[I][J]);
    return 0;
    }
    }
    }
    }
       }
     }
      function SFclear(obj1)
      {
       len=obj1.length;  
       for(i=len-1;i>=0;i--)
         obj1.options[i]=null;
      }  function SFfullup_P(obj1,val1,val2)
      {
       var vn = new Option(val1,val2); 
       obj1.add(vn);
      }
      //增加一个apption
      function SFfullup(obj1,val,val1)
      {
       var vn = new Option(val,val1);   
       obj1.add(vn); 
      }  function SFsel(val,obj1)
      {
       for(i=0;i<obj1.length;i++)
       {
       if(obj1[i]==val)
       {
       return i;
       }
       }
       if (i==obj1.length)
       {
       return 0;
       }
      }
     
    function returnProvince(theProvinceVal)
    {
    for(i=0;i<Province.length;i++)
    {
    if(ProVal[i]==theProvinceVal)
    {
    document.write (Province[i]);
    return 0;
    }
    }
    }
    function returnOnlyCity(theCityVal)
    {
    if(theCityVal.length==2)
    {//如果长度为2
    returnProvince(theCityVal);
    return 0;
    }
    else
    {
    for(i=0;i<Province.length;i++)
    {
    if(ProVal[i]==theCityVal.substring(0,2))
    {
    for(j=0;j<City[i].length;j++)
    {
    if(CityVal[i][j]==theCityVal)
    {
    document.write (City[i][j].replace("- ",""));
    return 0;
    }
    }
    }
    }
    }
    }
    function returnCity(theCityVal)
    {
    if(theCityVal.length==2)
    {//如果长度为2
    returnProvince(theCityVal);
    return 0;
    }
    else
    {
    //returnProvince(left(theCityVal,2));
    for(i=0;i<Province.length;i++)
    {
    if(ProVal[i]==theCityVal.substring(0,2))
    {
    document.write (Province[i]);
    for(j=0;j<City[i].length;j++)
    {
    if(CityVal[i][j]==theCityVal)
    {
    document.write ("["+City[i][j].replace("- ","")+"]");
    return 0;
    }
    }
    }
    }
    }
    }  function SFSelectLoc(objous,selectvalue,obj)
      {
       var cbox=obj;
       var k; 
       for(k=0;k<objous.length;k++)
       {
    if(objous.options[k].value==selectvalue)
    {
       SFclear(cbox);
       for (i=0;i<City[k-1].length;i++)
        {
       SFfullup(cbox,City[k-1][i],CityVal[k-1][i]);
        }
    return 1;
    }
       } 
      }
     
     function SFwrite_option(obj,txt,val)
     {
         var opt = new Option();
         opt.text = txt;
         opt.value = val;
         obj.add(opt);
     }
     
     function showProvince(obj)
     {
       for(I=0;I<Province.length;I++)
       {
         SFwrite_option(obj,Province[I],ProVal[I]);          
       }
     }
     
     function selectProvince(theProvince,selectProvince,theCity)
     {
    for(i=0;i<theProvince.options.length;i++)
    {   
       if(theProvince.options[i].value==selectProvince)
       {
    theProvince.options[i].selected=true;
    for(j=0; j<City[i-1].length; j++)
         {
     theCity.options[j]=new Option(City[i-1][j], CityVal[i-1][j]);
         }
    return 0;
       }
    }
     }
     
    function selectCity(theCity, CityValue)
    {
        for(I=0; I<theCity.options.length; I++)
    if(theCity.options[I].value == CityValue)
    {
    theCity.options[I].selected=true;
    }
     }
      

  11.   

    上面这个是我写在ASP中的,调用都很方便,可是我现在改行用C#,对上面这个JS的调用就是老是出错,不明白啊,有没有人可以告诉一下在ASP。NET中调用方式,要求用到 runat="server"来加载选项,谢谢!
      

  12.   

    数据存在重复不是好现象 ,同样的建议复用
    array[11]=new Array("广州2","广州","广州2"); 列这一行2个 广州2
      

  13.   

    iuhxq(小灰) 的只是显示功能把,,好象没有对应的值可以取
      

  14.   

    BlueDestiny(www.never-online.net) ( ) 的也是 只是显示 ,,不能取值。。我想你们不会用对应的ID和内容一样把