JS省市二級聯動菜單

這個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>

var where = new Array(32);  
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]; 
    }

}
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章