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;
}
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_1",["北京城区","下辖县市"]);
dsy.add("0_1_0",["东城区","西城区","崇文区","宣武区","朝阳区","丰台区","石景山区","海淀区","门头沟区","房山区","通州区","顺义区","昌平区","大兴区","怀柔区","平谷区"]);
dsy.add("0_1_1",["密云县","延庆县"]);
dsy.add("0_2",["福州","龙岩","南平","宁德","莆田","泉州","三明","厦门","漳州"]);
dsy.add("0_2_0",["长乐市","福清市","福州市","连江县","罗源县","闽侯县","闽清县","平潭县","永泰县"]);
","老河口市","枣阳市","宜城市","南漳县","谷城县","保康县"]);
<!--
//** Power by Fason(2004-3-11)
//** Email:fason_pfx@hotmail.com
var s=["s1","s2","s3"];
var opt0 = ["省份","地级市","市","县级市","县"];
function setup()
{
for(i=0;i<s.length-1;i++)
document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")");
change(0);
}
//-->
这是网上找的地址联动下拉菜单的JS代码,我想实现的是S1为下拉选择菜单,在S1选择相应省后,S2文本的形式显示全部对应的市,S3默认显示S2的第一个选项对应的全部县,这种联动不知道可不可以通过以上方式实现啊,谢谢各位指教。
效果有点同51job的地址选择