這個js省市二級菜單是在網上下載,自己改過的。比如註冊的時候需要省市,但是註冊信息還需要修改,原來的js當修改的時候是不能自動選中數據庫中省市數據。這個大家可以以此類推,把註冊項,比如一些“學歷”,“愛好”,“公司性質”什麼的都寫成js數組操作,也可以減輕服務器和數據庫的壓力。
加載函數:init(sheng,shi)
註冊頁面調用:<body onLoad="init('','');">,這時候省市需要用戶選擇,沒有需要加載選中的省市
修改註冊信息頁面調用:<body onLoad="init('河北','保定');">,這個時候需要選中這個用戶從數據庫讀出的省市數據。
在說明一下onload,onload實在頁面加載完以後才執行,如果你的省市html控件沒有被頁面加載就調用onLoad="init('','');" 是會報錯的。init(sheng,shi)這個函數也可以不用onload加載,把它放到你頁面中省市html控件的後面調用<script language="javascript"> init('','');</script>
function comefrom(loca,locacity) { this.loca = loca; this.locacity = locacity; }
where[0]= new comefrom("選擇省份","選擇城市");
where[1] = new comefrom("北京","東城|西城|崇文|宣武|朝陽|豐臺|石景山|海淀|門頭溝|房山|通州|順義|昌平|大興|平谷|懷柔|密雲|延慶");
where[2] = new comefrom("上海","黃浦|盧灣|徐匯|長寧|靜安|普陀|閘北|虹口|楊浦|閔行|寶山|嘉定|浦東|金山|松江|青浦|南匯|奉賢|崇明");
where[3] = new comefrom("天津","和平|東麗|河東|西青|河西|津南|南開|北辰|河北|武清|紅撟|塘沽|漢沽|大港|寧河|靜海|寶坻|薊縣");
where[4] = new comefrom("重慶","萬州|涪陵|渝中|大渡口|江北|沙坪壩|九龍坡|南岸|北碚|萬盛|雙撟|渝北|巴南|黔江|長壽|綦江|潼南|銅梁|大足|榮昌|壁山|梁平|城口|豐都|墊江|武隆|忠縣|開縣|雲陽|奉節|巫山|巫溪|石柱|秀山|酉陽|彭水|江津|合川|永川|南川");
where[5] = new comefrom("河北","石家莊|邯鄲|邢臺|保定|張家口|承德|廊坊|唐山|秦皇島|滄州|衡水");
where[6] = new comefrom("山西","太原|大同|陽泉|長治|晉城|朔州|呂梁|忻州|晉中|臨汾|運城");
where[7] = new comefrom("內蒙古","呼和浩特|包頭|烏海|赤峯|呼倫貝爾盟|阿拉善盟|哲里木盟|興安盟|烏蘭察布盟|錫林郭勒盟|巴彥淖爾盟|伊克昭盟");
where[8] = new comefrom("遼寧","瀋陽|大連|鞍山|撫順|本溪|丹東|錦州|營口|阜新|遼陽|盤錦|鐵嶺|朝陽|葫蘆島");
where[9] = new comefrom("吉林","長春|吉林|四平|遼源|通化|白山|松原|白城|延邊");
where[10] = new comefrom("黑龍江","哈爾濱|齊齊哈爾|牡丹江|佳木斯|大慶|綏化|鶴崗|雞西|黑河|雙鴨山|伊春|七臺河|大興安嶺");
where[11] = new comefrom("江蘇","南京|鎮江|蘇州|南通|揚州|鹽城|徐州|連雲港|常州|無錫|宿遷|泰州|淮安");
where[12] = new comefrom("浙江","杭州|寧波|溫州|嘉興|湖州|紹興|金華|衢州|舟山|台州|麗水");
where[13] = new comefrom("安徽","合肥|蕪湖|蚌埠|馬鞍山|淮北|銅陵|安慶|黃山|滁州|宿州|池州|淮南|巢湖|阜陽|六安|宣城|亳州");
where[14] = new comefrom("福建","福州|廈門|莆田|三明|泉州|漳州|南平|龍巖|寧德");
where[15] = new comefrom("江西","南昌市|景德鎮|九江|鷹潭|萍鄉|新餘|贛州|吉安|宜春|撫州|上饒");
where[16] = new comefrom("山東","濟南|青島|淄博|棗莊|東營|煙臺|濰坊|濟寧|泰安|威海|日照|萊蕪|臨沂|德州|聊城|濱州|菏澤");
where[17] = new comefrom("河南","鄭州|開封|洛陽|平頂山|安陽|鶴壁|新鄉|焦作|濮陽|許昌|漯河|三門峽|南陽|商丘|信陽|周口|駐馬店|濟源");
where[18] = new comefrom("湖北","武漢|宜昌|荊州|襄樊|黃石|荊門|黃岡|十堰|恩施|潛江|天門|仙桃|隨州|咸寧|孝感|鄂州");
where[19] = new comefrom("湖南","長沙|常德|株洲|湘潭|衡陽|岳陽|邵陽|益陽|婁底|懷化|郴州|永州|湘西|張家界");
where[20] = new comefrom("廣東","廣州|深圳|珠海|汕頭|東莞|中山|佛山|韶關|江門|湛江|茂名|肇慶|惠州|梅州|汕尾|河源|陽江|清遠|潮州|揭陽|雲浮");
where[21] = new comefrom("廣西","南寧|柳州|桂林|梧州|北海|防城港|欽州|貴港|玉林|南寧地區|柳州地區|賀州|百色|河池");
where[22] = new comefrom("海南","海口|三亞");
where[23] = new comefrom("四川","成都|綿陽|德陽|自貢|攀枝花|廣元|內江|樂山|南充|宜賓|廣安|達川|雅安|眉山|甘孜|涼山|瀘州");
where[24] = new comefrom("貴州","貴陽|六盤水|遵義|安順|銅仁|黔西南|畢節|黔東南|黔南");
where[25] = new comefrom("雲南","昆明|大理|曲靖|玉溪|昭通|楚雄|紅河|文山|思茅|西雙版納|保山|德宏|麗江|怒江|迪慶|臨滄");
where[26] = new comefrom("西藏","拉薩|日喀則|山南|林芝|昌都|阿里|那曲");
where[27] = new comefrom("陝西","西安|寶雞|咸陽|銅川|渭南|延安|榆林|漢中|安康|商洛");
where[28] = new comefrom("甘肅","蘭州|嘉峪關|金昌|白銀|天水|酒泉|張掖|武威|定西|隴南|平涼|慶陽|臨夏|甘南");
where[29] = new comefrom("寧夏","銀川|石嘴山|吳忠|固原");
where[30] = new comefrom("青海","西寧|海東|海南|海北|黃南|玉樹|果洛|海西");
where[31] = new comefrom("新疆","烏魯木齊|石河子|克拉瑪依|伊犁|巴音郭勒|昌吉|克孜勒蘇柯爾克孜|博爾塔拉|吐魯番|哈密|喀什|和田|阿克蘇");
//where[32] = new comefrom("香港","");
//where[33] = new comefrom("澳門","");
//where[34] = new comefrom("臺灣","|臺北|高雄|臺中|臺南|屏東|南投|雲林|新竹|彰化|苗栗|嘉義|花蓮|桃園|宜蘭|基隆|臺東|金門|馬祖|澎湖");
//where[35] = new comefrom("其它","|北美洲|南美洲|亞洲|非洲|歐洲|大洋洲");
function select()//onchange函數,調用選中省份的城市
{
with(document.FormUserRegister.sf)
{
var loca2 = options[selectedIndex].value;
}
for(i = 0;i < where.length;i ++)
{
if (where[i].loca == loca2)
{
loca3 = (where[i].locacity).split("|");
for(j = 0;j < loca3.length;j++)
{
with(document.FormUserRegister.city)
{
length = loca3.length;
options[j].text = loca3[j];
options[j].value = loca3[j];
//var loca4=options[selectedIndex].value;
}
}
break;
}
}
}
function init(sheng,shi) {
var sheng=arguments[0];
var shi=arguments[1];
with(document.FormUserRegister.sf)
{
length = where.length;
if(sheng=="")//沒有要加載的城市
{
loca3 = (where[0].locacity).split("|"); //沒有要加載的城市,選擇默認第一項
for(k=0;k<where.length;k++)
{
options[k].text = where[k].loca;
options[k].value = where[k].loca;
}
options[0].selected = true;
}
else
{
for(k=0;k<where.length;k++)
{
if(where[k].loca==sheng)//判斷要選中的省份
{
options[k].selected = true;
loca3 = (where[k].locacity).split("|"); //選中哪個省份,然後加載相應的城市分類
}
options[k].text = where[k].loca;
options[k].value = where[k].loca;
}
}
}
with(document.FormUserRegister.city)
{
length = loca3.length;
for(l=0;l<length;l++)
{
if(loca3[l]==shi)//判斷要選中的城市
{
options[l].selected = true;
}
options[l].text = loca3[l];
options[l].value = loca3[l];
}
//options[selectedIndex].text = loca3[0]; options[selectedIndex].value = loca3[0];
}
}