日期:2014-05-16  浏览次数:20582 次

JS关于省市县三级关联菜单“缺少对象”的问题,内详!(在线等)
有一个省市县三级菜单,主要的代码如下(为了方便表述,中间无关紧要的我略去了):

<html>
<head> <title> 省市县关联菜单 </title>  


<SCRIPT   LANGUAGE= "JavaScript ">
function   Dsy()  
{this.Items   =   {};   }  
Dsy.prototype.add   =   function(id,iArray)  
{this.Items[id]   =   iArray;   }  
Dsy.prototype.Exists   =   function(id)  
{if(typeof(this.Items[id])   ==   "undefined ")   return   false;  
return   true;   }  

function   change(v){  
var   str= "0 ";  
for(i=0;i <v;i++){   str+=( "_ "+(document.getElementById(s[i]).selectedIndex-1));};  
var   ss=document.getElementById(s[v]);  
with(ss){  
length   =   0;  
options[0]=new   Option(opt0[v],opt0[v]);  
if(v   &&   document.getElementById(s[v-1]).selectedIndex> 0   ||   !v)  
{  
if(dsy.Exists(str)){  
ar   =   dsy.Items[str];  
for(i=0;i <ar.length;i++)options[length]=new   Option(ar[i],ar[i]);  
if(v)options[1].selected   =   true;  
}  
}  
if(++v <s.length){change(v);}  
}  
}  

var   dsy   =   new   Dsy();  

dsy.add( "0 ",[ "安徽 ", "北京 ", "福建 ", "甘肃 ", "广东 ", "广西 ", "贵州 ", "海南 ", "河北 ", "河南 ", "黑龙江 ", "湖北 ", "湖南 ", "吉林 ", "江苏 ", "江西 ", "辽宁 ", "内蒙古 ", "宁夏 ", "青海 ", "山东 ", "山西 ", "陕西 ", "上海 ", "四川 ", "天津 ", "西藏 ", "新疆 ", "云南 ", "浙江 ", "重庆 "]);  

dsy.add( "0_0 ",[ "安庆 ", "蚌埠 ", "巢湖 ", "池州 ", "滁州 ", "阜阳 ", "合肥 ", "淮北 ", "淮南 ", "黄山 ", "六安 ", "马鞍山 ", "宿州 ", "铜陵 ", "芜湖 ", "宣城 ", "亳州 "]);  
dsy.add( "0_0_0 ",[ "安庆市 ", "怀宁县 ", "潜山县 ", "宿松县 ", "太湖县 ", "桐城市 ", "望江县 ", "岳西县 ", "枞阳县 "]);  
dsy.add( "0_0_1 ",[ "蚌埠市 ", "固镇县 ", "怀远县 ", "五河县 "]);  
dsy.add( "0_0_2 ",[ "巢湖市 ", "含山县 ", "和县 ", "庐江县 ", "无为县 "]);  
dsy.add( "0_0_3 ",[ "池州市 ", "东至县 ", "青阳县 ", "石台县 "]);  
dsy.add( "0_0_4 ",[ "滁州市 ", "定远县 ", "凤阳县 ", "来安县 ", "明光市 ", "全椒县 ", "天长市 "]);  
dsy.add( "0_0_5 ",[ "阜南县 ", "阜阳市 ", "界首市 ", "临泉县 ", "太和县 ", "颖上县 "]);  
dsy.add( "0_0_6 ",[ "长丰县 ", "肥东县 ", "肥西县 "]);  
dsy.add( "0_0_7 ",[ "淮北市 ", "濉溪县 "]);  
dsy.add( "0_0_8 ",[ "凤台县 ", "淮南市 "]);  
dsy.add( "0_0_9 ",[ "黄山市 ", "祁门县 ", "休宁县 ", "歙县 ", "黟县 "]);  
dsy.add( "0_0_10 ",[ "霍邱县 ", "霍山县 ", "金寨县 ", "