自己改一下:
<script LANGUAGE="javascript"> 
<!-- 
var onecount; 
onecount=0; subcat = new Array(); 
subcat[0] = new Array("徐汇区","01","001"); 
subcat[1] = new Array("嘉定区","01","002"); 
subcat[2] = new Array("黄浦区","01","003"); 
subcat[3] = new Array("南昌市","02","004"); 
subcat[4] = new Array("九江市","02","005"); 
subcat[5] = new Array("上饶市","02","006"); onecount=6; function changelocation(locationid) 

document.myform.smalllocation.length = 0; var locationid=locationid; 
var i; 
document.myform.smalllocation.options[0] = new Option('====所有地区====',''); 
for (i=0;i < onecount; i++) 

if (subcat[i][1] == locationid) 

document.myform.smalllocation.options[document.myform.smalllocation.length] = new Option(subcat[i][0], subcat[i][2]); 

} } //--> 
</script> 
</head> 
<form name="myform" method="post"> 
<select name="biglocation" onChange="changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value)"> 
<option value="01" selected>上海</option> 
<option value="02">江西</option> 
</select> 
<select name="smalllocation"> 
<option selected value="">==所有地区==</option> 
</select> 
</form>

解决方案 »

  1.   

    <body>
    <h2>实际应用中XML文件可以放在外部文件中,IE6测试通过</h2>
    <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>