因為最近有需要用到中國地區三級聯動下拉菜單,雖然用公司的框架已經實現,但是看的比較迷茫,就網上找了下相關代碼,主要的數據和功能實現都是在js文件中,網上找的地區數據有的地方不完整,需要自己添加,雖然和公司的框架實現的代碼不一樣,還是先把代碼放上了,以后需要的時候可以看看,大家也可以看看!
1.首先是js文件(area.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_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",["霍邱縣","霍山縣","金寨縣","六安市","壽縣","舒城縣"]);
dsy.add("0_0_11",["當涂縣","馬鞍山市"]);
dsy.add("0_0_12",["靈璧縣","宿州市","蕭縣","泗縣","碭山縣"]);
dsy.add("0_0_13",["銅陵市","銅陵縣"]);
dsy.add("0_0_14",["繁昌縣","南陵縣","蕪湖市","蕪湖縣"]);
dsy.add("0_0_15",["廣德縣","績溪縣","郎溪縣","寧國市","宣城市","涇縣","旌德縣"]);
dsy.add("0_0_16",["利辛縣","蒙城縣","渦陽縣","亳州市"]);