<prov value="内蒙古"><city value="阿拉善盟"/><city value="巴彦淖尔盟"/><city value="包头市"/><city value="赤峰市"/><city value="呼和浩特市"/><city value="呼伦贝尔市"/><city value="乌海市"/><city value="乌兰察布盟"/><city value="锡林郭勒盟"/><city value="兴安盟"/><city value="鄂尔多斯市"/><city value="通辽市"/></prov><prov value="宁夏"><city value="固原市"/><city value="石嘴山市"/><city value="银川市"/><city value="吴忠市"/></prov><prov value="青海省"><city value="果洛自治州"/><city value="海北自治州"/><city value="海东地区"/><city value="海南自治州"/><city value="海西自治州"/><city value="黄南自治州"/><city value="西宁市"/><city value="玉树自治州"/></prov><prov value="山东省"><city value="滨州市"/><city value="德州市"/><city value="东营市"/><city value="菏泽地区"/><city value="济南市"/><city value="济宁市"/><city value="莱芜市"/><city value="聊城市"/><city value="临沂市"/><city value="青岛市"/><city value="日照市"/><city value="泰安市"/><city value="威海市"/><city value="潍坊市"/><city value="烟台市"/><city value="枣庄市"/><city value="淄博市"/></prov><prov value="山西省"><city value="长治市"/><city value="大同市"/><city value="晋城市"/><city value="晋中市"/><city value="临汾市"/><city value="吕梁地区"/><city value="朔州市"/><city value="太原市"/><city value="忻州市"/><city value="雁北地区"/><city value="阳泉市"/><city value="运城市"/></prov><prov value="陕西省"><city value="安康市"/><city value="宝鸡市"/><city value="汉中市"/><city value="商洛市"/><city value="铜川市"/><city value="渭南市"/><city value="西安市"/><city value="咸阳市"/><city value="延安市"/><city value="榆林市"/></prov><prov value="上海市"><city value="上海市"/></prov><prov value="四川省"><city value="阿坝自治州"/><city value="巴中市"/><city value="成都市"/><city value="达州市"/><city value="德阳市"/><city value="甘孜自治州"/><city value="广安市"/><city value="广元市"/><city value="乐山市"/><city value="凉山自治州"/><city value="眉山市"/><city value="绵阳市"/><city value="南充市"/><city value="内江市"/><city value="攀枝花市"/><city value="遂宁市"/><city value="雅安市"/><city value="宜宾市"/><city value="自贡市"/><city value="泸州市"/><city value="资阳市"/></prov><prov value="台湾"><city value="高雄市"/><city value="高雄县"/><city value="花莲县"/><city value="基隆市"/><city value="嘉义市"/><city value="嘉义县"/><city value="苗栗县"/><city value="南投县"/><city value="澎湖县"/><city value="屏东县"/><city value="台北市"/><city value="台北县"/><city value="台东县"/><city value="台南市"/><city value="台南县"/><city value="台中市"/><city value="台中县"/><city value="桃园县"/><city value="新竹市"/><city value="新竹县"/><city value="宜兰县"/><city value="云林县"/><city value="彰化市"/><city value="彰化县"/></prov><prov value="天津市"><city value="天津市"/></prov><prov value="西藏"><city value="阿里地区"/><city value="昌都地区"/><city value="拉萨市"/><city value="林芝地区"/><city value="那曲地区"/><city value="日喀则地区"/><city value="山南地区"/></prov><prov value="香港"><city value="香港"/></prov><prov value="新疆"><city value="阿克苏地区"/><city value="阿勒泰地区"/><city value="巴音郭楞州"/><city value="博尔塔拉州"/><city value="昌吉自治州"/><city value="哈密地区"/><city value="和田地区"/><city value="喀什地区"/><city value="克拉玛依市"/><city value="克孜勒州"/><city value="石河子市"/><city value="塔城地区"/><city value="吐鲁番地区"/><city value="乌鲁木齐市"/><city value="伊犁地区"/></prov><prov value="云南省"><city value="保山市"/><city value="楚雄自治州"/><city value="大理自治州"/><city value="德宏自治州"/><city value="迪庆自治州"/><city value="东川市"/><city value="红河自治州"/><city value="昆明市"/><city value="丽江地区"/><city value="临沧地区"/><city value="怒江自治州"/><city value="曲靖市"/><city value="思茅地区"/><city value="文山自治州"/><city value="西双版纳州"/><city value="玉溪市"/><city value="昭通市"/></prov><prov value="浙江省"><city value="杭州市"/><city value="湖州市"/><city value="嘉兴市"/><city value="金华市"/><city value="丽水市"/><city value="宁波市"/><city value="绍兴市"/><city value="台州市"/><city value="温州市"/><city value="舟山市"/><city value="衢州市"/></prov><prov value="重庆市"><city value="重庆市"/></prov>
</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>

解决方案 »

  1.   

    简单点的一个这样写
    <body>
    <xml id="doc">
    <data>
     <province name="广东">
      <city>广州</city>
      <city>深圳</city>
      <city>汕头</city>
     </province>
     <province name="吉林">
      <city>长春</city>
      <city>四平</city>
      <city>吉林</city>
      <city>白城</city>
     </province>
     <province name="河南">
      <city>郑州</city>
      <city>洛阳</city>
      <city>开封</city>
      <city>安阳</city>
     </province>
    </data>
    </xml>
    <select id=prov onchange="docity()">
    <option value="0">--- 请选择省份 ---</option>
    </select>
    <select id=city></select><script language="JavaScript">
    function init(){
     var v1 = doc.getElementsByTagName("province");
     for(var i =0; i<v1.length;i++){
      var e = document.createElement("OPTION");
      e.innerText = e.value = v1[i].getAttribute("name");
      prov.appendChild(e);
     }
    }function docity(){
     var sf = prov.value;
     var str="//province[@name='"+sf+"']";
     var v = doc.selectSingleNode(str);
     if(!v){ alert("没有符合条件的记录!");return;}
     city.innerHTML = "";
     var v1 = v.selectNodes("city")
     for(var i =0; i<v1.length;i++){
      var e = document.createElement("OPTION");
      e.innerText = e.value = v1[i].text;
      city.appendChild(e);
     }
    }
    init();
    </script>
    </body>
      

  2.   

    简单点的一个这样写
    <body>
    <xml id="doc">
    <data>
     <province name="广东">
      <city>广州</city>
      <city>深圳</city>
      <city>汕头</city>
     </province>
     <province name="吉林">
      <city>长春</city>
      <city>四平</city>
      <city>吉林</city>
      <city>白城</city>
     </province>
     <province name="河南">
      <city>郑州</city>
      <city>洛阳</city>
      <city>开封</city>
      <city>安阳</city>
     </province>
    </data>
    </xml>
    <select id=prov onchange="docity()">
    <option value="0">--- 请选择省份 ---</option>
    </select>
    <select id=city></select><script language="JavaScript">
    function init(){
     var v1 = doc.getElementsByTagName("province");
     for(var i =0; i<v1.length;i++){
      var e = document.createElement("OPTION");
      e.innerText = e.value = v1[i].getAttribute("name");
      prov.appendChild(e);
     }
    }function docity(){
     var sf = prov.value;
     var str="//province[@name='"+sf+"']";
     var v = doc.selectSingleNode(str);
     if(!v){ alert("没有符合条件的记录!");return;}
     city.innerHTML = "";
     var v1 = v.selectNodes("city")
     for(var i =0; i<v1.length;i++){
      var e = document.createElement("OPTION");
      e.innerText = e.value = v1[i].text;
      city.appendChild(e);
     }
    }
    init();
    </script>
    </body>
      

  3.   

    我也来贴一个:)<form name=form1>
    <select name=province onchange="cityName(this.selectedIndex)">
      <option value="">请选择省名</option>
    </select><select name=city>
      <option value="">请选择城名</option>
    </select>
    </form><script language=javascript>var city1 = ["杭州", "宁波", "温州", "绍兴", "金华", "湖州"];
    var city2 = ["南京", "苏州", "无锡", "常州", "镇江", "徐州"];
    var city3 = ["合肥", "翕县", "黄山", "祁门", "休宁"];
    var city4 = ["南昌", "九江", "赣州", "上饶", "新余", "景德镇"]; 
    var provinceName = ["浙江", "江苏", "安徽", "江西"];
    function province()
    {    var e = document.form1.province;
        for (var i=0; i<provinceName.length; i++)
           e.options.add(new Option(provinceName[i], provinceName[i]));
    }
    function cityName(n)
    {
        var e = document.form1.city;
        for (var i=e.options.length; i>0; i--)  e.remove(i);
        if (n == 0) return;
        var a = eval("city"+ n); //得到城市的数组名
        for (var i=0; i<a.length; i++) e.options.add(new Option(a[i], a[i]));
    }
    function window.onload()
    {
        province(); //初始时给省名下拉菜单赋内容
    }
    </script>
      

  4.   

    哦,sorry,搞错了,我去过的是 阿信 和 孟子 的两个站点,梅花雨(meizz)个人主页地址是什么啊?