/*
- 全国三级城市联动 js版 */ 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; }
var dsy = new Dsy();
dsy.add("0",["北京市","天津市","上海市","重庆市","河北省","山西省","内蒙古","辽宁省","吉林省","黑龙江省","江苏省","浙江省","安徽省","福建省","江西省","山东省","河南省","湖北省","湖南省","广东省","广西","海南省","四川省","贵州省","云南省","西藏","陕西省","甘肃省","青海省","宁夏","新疆","香港","澳门","台湾省"]);
dsy.add("0_0_0",["东城区","西城区","崇文区","宣武区","朝阳区","丰台区","石景山区","海淀区","门头沟区","房山区","通州区","顺义区","昌平区","大兴区","怀柔区","平谷区","密云县","延庆县","延庆镇"]);
..............
var s=["s_province","s_city","s_county"];//三个select的name
var opt0 = ["省份","地级市","市、县级市"];//初始值
//注:arr 是我从后台传过来的值。 类似opt0 数组
function _init_area(arr){ //初始化函数
for(i=0;i<s.length-1;i++){
document.getElementById(s[i]).onchange=new Function("change('"+(i+1)+"','"+arr+")")");
}
change(0,arr);
}
//此功能为修改功能,需要加载默认。
//求大神帮改下如下方法,arr为我传进来的数组,类似于opt0,为具体的省市区名称,
//我想要初始化时显示所有省市区县,并默认显示我传进来的值,重点是:在不选择省市的情况下能选择区县。(最好是去掉省市、地级市,市、县级市)
function change(v){
var str="0";
for(i=0;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]);
}//end for
if(v){ options[1].selected = true; }
}
}//end if v
if(++v<s.length){change(v);}
}//End with
}