欢迎光临
我们一直在努力

使用ajaxpro开发四级无刷新联动下拉框_ajax教程

建站超值云服务器,限时71元/月

开发环境 VS.NET 2005    C#    Oracle   AjaxPro  


最近忙没时间详细解释,先把通用的源码贴出自己看。


出于对性能的考虑,把省市两级写成JS数组,把县区(镇)两级写在 Oracle 里。通过 JS 触发 C# 去读取数据库,然后将数据回传给 JS ,再绑定显示。


操作 <select> 采用更通用的 createElement() 而没有使用 options.add()


 


<%@ Page Language=”C#” AutoEventWireup=”true” CodeFile=”Area.aspx.cs” Inherits=”Area” %>


<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>


<html xmlns=”http://www.w3.org/1999/xhtml” >
<head runat=”server”>
    <title>地区</title>
</head>
<body>
    <form id=”form1″ runat=”server”>
        <table>
            <tr>
                <td>
                    <select id=”SF”>
                        <option selected=”selected”>—请选择—</option>
                    </select>
                </td>
                <td>
                    <select id=”CS”>
                        <option selected=”selected”>—请选择—</option>
                    </select>
                </td>
                <td>
                    <select id=”Xian”>
                        <option selected=”selected”>—请选择—</option>
                    </select>
                </td>
                <td>
                    <select id=”Zhen”>
                        <option selected=”selected”>—请选择—</option>
                    </select>
                </td>
            </tr>
        </table>


<script type=”text/javascript”>
var aDQ=new Array();
aDQ[0]=[“11″,”北京”,”0″,”bj”];
aDQ[1]=[“12″,”天津”,”0″,”tj”];
aDQ[2]=[“13″,”河北”,”0″,”hb”];
aDQ[3]=[“14″,”山西”,”0″,”shang”];
aDQ[4]=[“15″,”内蒙古”,”0″,”nmg”];
aDQ[5]=[“21″,”辽宁”,”0″,”ln”];
aDQ[6]=[“22″,”吉林”,”0″,”jl”];
aDQ[7]=[“23″,”黑龙江”,”0″,”hlj”];
aDQ[8]=[“31″,”上海”,”0″,”sh”];
aDQ[9]=[“32″,”江苏”,”0″,”js”];
aDQ[10]=[“33″,”浙江”,”0″,”zhej”];
aDQ[11]=[“34″,”安徽”,”0″,”ah”];
aDQ[12]=[“35″,”福建”,”0″,”fj”];
aDQ[13]=[“36″,”江西”,”0″,”jw”];
aDQ[14]=[“37″,”山东”,”0″,”sd”];
aDQ[15]=[“41″,”河南”,”0″,”he”];
aDQ[16]=[“42″,”湖北”,”0″,”hu”];
aDQ[17]=[“43″,”湖南”,”0″,”hn”];
aDQ[18]=[“44″,”广东”,”0″,”gd”];
aDQ[19]=[“45″,”广西”,”0″,”gx”];
aDQ[20]=[“46″,”海南”,”0″,”hain”];
aDQ[21]=[“50″,”重庆”,”0″,”cq”];
aDQ[22]=[“51″,”四川”,”0″,”sc”];
aDQ[23]=[“52″,”贵州”,”0″,”gui”];
aDQ[24]=[“53″,”云南”,”0″,”yn”];
aDQ[25]=[“54″,”西藏”,”0″,”wc”];
aDQ[26]=[“61″,”陕西”,”0″,”shangx”];
aDQ[27]=[“62″,”甘肃”,”0″,”gs”];
aDQ[28]=[“63″,”青海”,”0″,”qh”];
aDQ[29]=[“64″,”宁夏”,”0″,”nx”];
aDQ[30]=[“65″,”新疆”,”0″,”xj”];
aDQ[31]=[“71″,”台湾”,”0″,”tw”];
aDQ[32]=[“81″,”香港”,”0″,”xg”];
aDQ[33]=[“82″,”澳门”,”0″,”am”];
aDQ[34]=[“1101″,”北京城区”,”11″,”bjcq”];
aDQ[35]=[“1102″,”北京县区”,”11″,”bjxq”];
aDQ[36]=[“1201″,”天津城区”,”12″,”tjcq”];
aDQ[37]=[“1202″,”天津县区”,”12″,”tjxq”];
aDQ[38]=[“1301″,”石家庄”,”13″,”sjz”];
aDQ[39]=[“1302″,”唐山”,”13″,”hbts”];
aDQ[40]=[“1303″,”秦皇岛”,”13″,”qhd”];
aDQ[41]=[“1304″,”邯郸”,”13″,”hd”];
aDQ[42]=[“1305″,”邢台”,”13″,”hbxt”];
aDQ[43]=[“1306″,”保定”,”13″,”bd”];
aDQ[44]=[“1307″,”张家口”,”13″,”zjk”];
aDQ[45]=[“1308″,”承德”,”13″,”cd”];
aDQ[46]=[“1309″,”沧州”,”13″,”hbcz”];
aDQ[47]=[“1310″,”廊坊”,”13″,”lf”];
aDQ[48]=[“1311″,”衡水”,”13″,”hbhs”];
aDQ[49]=[“1401″,”太原”,”14″,”ty”];
aDQ[50]=[“1402″,”大同”,”14″,”dt”];
aDQ[51]=[“1403″,”阳泉”,”14″,”yq”];
aDQ[52]=[“1404″,”长治”,”14″,”swcz”];
aDQ[53]=[“1405″,”晋城”,”14″,”swjc”];
aDQ[54]=[“1406″,”朔州”,”14″,”swsz”];
aDQ[55]=[“1501″,”呼和浩特”,”15″,”hhht”];
aDQ[56]=[“1502″,”包头”,”15″,”bt”];
aDQ[57]=[“1503″,”乌海”,”15″,”nmgwh”];
aDQ[58]=[“1504″,”赤峰”,”15″,”cf”];
aDQ[59]=[“1521″,”呼伦贝尔盟”,”15″,”hlbem”];
aDQ[60]=[“1522″,”兴安盟”,”15″,”xam”];
aDQ[61]=[“1523″,”哲里木盟”,”15″,”zlmm”];
aDQ[62]=[“1525″,”锡林郭勒盟”,”15″,”wlglm”];
aDQ[63]=[“1526″,”乌兰察布盟”,”15″,”wlcbm”];
aDQ[64]=[“1527″,”鄂尔多斯”,”15″,”eeds”];
aDQ[65]=[“1528″,”巴彦淖尔盟”,”15″,”bynem”];
aDQ[66]=[“1529″,”阿拉善盟”,”15″,”alsm”];
aDQ[67]=[“2101″,”沈阳”,”21″,”lnsy”];
aDQ[68]=[“2102″,”大连”,”21″,”dl”];
aDQ[69]=[“2103″,”鞍山”,”21″,”as”];
aDQ[70]=[“2104″,”抚顺”,”21″,”lnfs”];
aDQ[71]=[“2105″,”本溪”,”21″,”bx”];
aDQ[72]=[“2106″,”丹东”,”21″,”dd”];
aDQ[73]=[“2107″,”锦州”,”21″,”jz”];
aDQ[74]=[“2108″,”营口”,”21″,”yk”];
aDQ[75]=[“2109″,”阜新”,”21″,”fx”];
aDQ[76]=[“2110″,”辽阳”,”21″,”lnly”];
aDQ[77]=[“2111″,”盘锦”,”21″,”pj”];
aDQ[78]=[“2112″,”铁岭”,”21″,”lntl”];
aDQ[79]=[“2113″,”朝阳”,”21″,”cy”];
aDQ[80]=[“2114″,”葫芦岛”,”21″,”hld”];
aDQ[81]=[“2201″,”长春”,”22″,”cc”];
aDQ[82]=[“2202″,”吉林”,”22″,”jljl”];
aDQ[83]=[“2203″,”四平”,”22″,”sp”];
aDQ[84]=[“2204″,”辽源”,”22″,”jlly”];
aDQ[85]=[“2205″,”通化”,”22″,”th”];
aDQ[86]=[“2206″,”白山”,”22″,”bs”];
aDQ[87]=[“2207″,”松原”,”22″,”jlsy”];
aDQ[88]=[“2208″,”白城”,”22″,”bc”];
aDQ[89]=[“2224″,”延边”,”22″,”jlyb”];
aDQ[90]=[“2301″,”哈尔滨”,”23″,”heb”];
aDQ[91]=[“2302″,”齐齐哈尔”,”23″,”qqhe”];
aDQ[92]=[“2303″,”鸡西”,”23″,”hljjw”];
aDQ[93]=[“2304″,”鹤岗”,”23″,”hg”];
aDQ[94]=[“2305″,”双鸭山”,”23″,”sys”];
aDQ[95]=[“2306″,”大庆”,”23″,”dq”];
aDQ[96]=[“2307″,”伊春”,”23″,”hljyc”];
aDQ[97]=[“2308″,”佳木斯”,”23″,”jms”];
aDQ[98]=[“2309″,”七台河”,”23″,”qth”];
aDQ[99]=[“2310″,”牡丹江”,”23″,”mdj”];
aDQ[100]=[“2311″,”黑河”,”23″,”hh”];
aDQ[101]=[“3101″,”上海市区”,”31″,”shsq”];
aDQ[102]=[“3102″,”上海县区”,”31″,”shxq”];
aDQ[103]=[“3201″,”南京”,”32″,”nj”];
aDQ[104]=[“3202″,”无锡”,”32″,”ww”];
aDQ[105]=[“3203″,”徐州”,”32″,”xz”];
aDQ[106]=[“3204″,”常州”,”32″,”jscz”];
aDQ[107]=[“3205″,”苏州”,”32″,”shu”];
aDQ[108]=[“3206″,”南通”,”32″,”nt”];
aDQ[109]=[“3207″,”连云港”,”32″,”lyg”];
aDQ[110]=[“3208″,”淮安”,”32″,”ha”];
aDQ[111]=[“3209″,”盐城”,”32″,”jsyc”];
aDQ[112]=[“3210″,”扬州”,”32″,”yz”];
aDQ[113]=[“3211″,”镇江”,”32″,”jszj”];
aDQ[114]=[“3212″,”泰州”,”32″,”tz”];
aDQ[115]=[“3213″,”宿迁”,”32″,”sq”];
aDQ[116]=[“3301″,”杭州”,”33″,”han”];
aDQ[117]=[“3302″,”宁波”,”33″,”nb”];
aDQ[118]=[“3303″,”温州”,”33″,”zjwz”];
aDQ[119]=[“3304″,”嘉兴”,”33″,”jx”];
aDQ[120]=[“3305″,”湖州”,”33″,”zjhz”];
aDQ[121]=[“3306″,”绍兴”,”33″,”sx”];
aDQ[122]=[“3307″,”金华”,”33″,”jh”];
aDQ[123]=[“3308″,”衢州”,”33″,”zjqz”];
aDQ[124]=[“3309″,”舟山”,”33″,”zjzs”];
aDQ[125]=[“3310″,”台州”,”33″,”zjtz”];
aDQ[126]=[“3311″,”义乌”,”33″,”yw”];
aDQ[127]=[“3325″,”丽水”,”33″,”zjls”];
aDQ[128]=[“3401″,”合肥”,”34″,”hf”];
aDQ[129]=[“3402″,”芜湖”,”34″,”wh”];
aDQ[130]=[“3403″,”蚌埠”,”34″,”bb”];
aDQ[131]=[“3404″,”淮南”,”34″,”hnx”];
aDQ[132]=[“3405″,”马鞍山”,”34″,”mas”];
aDQ[133]=[“3406″,”淮北”,”34″,”huib”];
aDQ[134]=[“3407″,”铜陵”,”34″,”tl”];
aDQ[135]=[“3408″,”安庆”,”34″,”aq”];
aDQ[136]=[“3410″,”黄山”,”34″,”hs”];
aDQ[137]=[“3411″,”滁州”,”34″,”ahcz”];
aDQ[138]=[“3412″,”阜阳”,”34″,”fy”];
aDQ[139]=[“3413″,”宿州”,”34″,”ahsz”];
aDQ[140]=[“3416″,”毫州”,”34″,”ahhz”];
aDQ[141]=[“51011117″,”池州”,”34″,””];
aDQ[142]=[“51011118″,”六安”,”34″,””];
aDQ[143]=[“51011119”,”宣城 “,”34″,””];
aDQ[144]=[“3501″,”福州”,”35″,”fz”];
aDQ[145]=[“3502″,”厦门”,”35″,”xm”];
aDQ[146]=[“3503″,”莆田”,”35″,”pt”];
aDQ[147]=[“3504″,”三明”,”35″,”sm”];
aDQ[148]=[“3505″,”泉州”,”35″,”qz”];
aDQ[149]=[“3506″,”漳州”,”35″,”fzz”];
aDQ[150]=[“3507″,”南平”,”35″,”np”];
aDQ[151]=[“3508″,”龙岩”,”35″,”fjly”];
aDQ[152]=[“3509″,”宁德”,”35″,”fjnd”];
aDQ[153]=[“3601″,”南昌”,”36″,”jwnc”];
aDQ[154]=[“3602″,”景德镇”,”36″,”jdz”];
aDQ[155]=[“3603″,”萍乡”,”36″,”px”];
aDQ[156]=[“3604″,”九江”,”36″,”jj”];
aDQ[157]=[“3605″,”新余”,”36″,”xy”];
aDQ[158]=[“3606″,”鹰潭”,”36″,”jwyt”];
aDQ[159]=[“3607″,”赣州”,”36″,”jwgz”];
aDQ[160]=[“3701″,”济南”,”37″,”jn”];
aDQ[161]=[“3702″,”青岛”,”37″,”qd”];
aDQ[162]=[“3703″,”淄博”,”37″,”zb”];
aDQ[163]=[“3704″,”枣庄”,”37″,”sdzz”];
aDQ[164]=[“3705″,”东营”,”37″,”sddy”];
aDQ[165]=[“3706″,”烟台”,”37″,”yt”];
aDQ[166]=[“3707″,”潍坊”,”37″,”wf”];
aDQ[167]=[“3708″,”济宁”,”37″,”sdjn”];
aDQ[168]=[“3709″,”泰安”,”37″,”ta”];
aDQ[169]=[“3710″,”威海”,”37″,”sdwh”];
aDQ[170]=[“3711″,”日照”,”37″,”rz”];
aDQ[171]=[“3712″,”莱芜”,”37″,”lw”];
aDQ[172]=[“3713″,”临沂”,”37″,”ly”];
aDQ[173]=[“3714″,”德州”,”37″,”sddz”];
aDQ[174]=[“3715″,”聊城”,”37″,”lc”];
aDQ[175]=[“4101″,”郑州”,”41″,”zhen”];
aDQ[176]=[“4102″,”开封”,”41″,”kf”];
aDQ[177]=[“4103″,”洛阳”,”41″,”hnly”];
aDQ[178]=[“4104″,”平顶山”,”41″,”pds”];
aDQ[179]=[“4105″,”安阳”,”41″,”ay”];
aDQ[180]=[“4106″,”鹤壁”,”41″,”hebi”];
aDQ[181]=[“4107″,”新乡”,”41″,”xx”];
aDQ[182]=[“4108″,”焦作”,”41″,”hnjz”];
aDQ[183]=[“4109″,”濮阳”,”41″,”zy”];
aDQ[184]=[“4110″,”许昌”,”41″,”xc”];
aDQ[185]=[“4111″,”漯河”,”41″,”zhe”];
aDQ[186]=[“4112″,”三门峡”,”41″,”smx”];
aDQ[187]=[“4113″,”南阳”,”41″,”ny”];
aDQ[188]=[“4114″,”商丘”,”41″,”hnsq”];
aDQ[189]=[“4115″,”信阳”,”41″,”hnxy”];
aDQ[190]=[“4201″,”武汉”,”42″,”hbwh”];
aDQ[191]=[“4202″,”黄石”,”42″,”hhs”];
aDQ[192]=[“4203″,”十堰”,”42″,”sy”];
aDQ[193]=[“4205″,”宜昌”,”42″,”hbyc”];
aDQ[194]=[“4206″,”襄樊”,”42″,”xf”];
aDQ[195]=[“4207″,”鄂州”,”42″,”ez”];
aDQ[196]=[“4208″,”荆门”,”42″,”hbjm”];
aDQ[197]=[“4209″,”孝感”,”42″,”hbxg”];
aDQ[198]=[“4210″,”荆州”,”42″,”hbjz”];
aDQ[199]=[“4211″,”黄冈”,”42″,”hbhg”];
aDQ[200]=[“4212″,”咸宁”,”42″,”xn”];
aDQ[201]=[“4228″,”恩施”,”42″,”es”];
aDQ[202]=[“4301″,”长沙”,”43″,”cs”];
aDQ[203]=[“4302″,”株洲”,”43″,”hnzz”];
aDQ[204]=[“4303″,”湘潭”,”43″,”xt”];
aDQ[205]=[“4304″,”衡阳”,”43″,”hnhy”];
aDQ[206]=[“4305″,”邵阳”,”43″,”shao”];
aDQ[207]=[“4306″,”岳阳”,”43″,”yy”];
aDQ[208]=[“4307″,”常德”,”43″,”hncd”];
aDQ[209]=[“4308″,”张家界”,”43″,”zjj”];
aDQ[210]=[“4309″,”益阳”,”43″,”hnyy”];
aDQ[211]=[“4310″,”郴州”,”43″,”hncz”];
aDQ[212]=[“4311″,”永州”,”43″,”hnyz”];
aDQ[213]=[“4312″,”怀化”,”43″,”hnhh”];
aDQ[214]=[“4331″,”湘西”,”43″,”xw”];
aDQ[215]=[“4401″,”广州”,”44″,”gz”];
aDQ[216]=[“4402″,”韶关”,”44″,”sg”];
aDQ[217]=[“4403″,”深圳”,”44″,”sz”];
aDQ[218]=[“4404″,”珠海”,”44″,”zh”];
aDQ[219]=[“4405″,”汕头”,”44″,”st”];
aDQ[220]=[“4406″,”佛山”,”44″,”fs”];
aDQ[221]=[“4407″,”江门”,”44″,”jm”];
aDQ[222]=[“4408″,”湛江”,”44″,”zj”];
aDQ[223]=[“4409″,”茂名”,”44″,”mm”];
aDQ[224]=[“4412″,”肇庆”,”44″,”zq”];
aDQ[225]=[“4413″,”惠州”,”44″,”hz”];
aDQ[226]=[“4414″,”梅州”,”44″,”mz”];
aDQ[227]=[“4415″,”汕尾”,”44″,”shanw”];
aDQ[228]=[“4416″,”河源”,”44″,”hy”];
aDQ[229]=[“4417″,”阳江”,”44″,”yj”];
aDQ[230]=[“4418″,”清远”,”44″,”qy”];
aDQ[231]=[“4419″,”东莞”,”44″,”dz”];
aDQ[232]=[“4420″,”中山”,”44″,”zs”];
aDQ[233]=[“4451″,”潮州”,”44″,”cz”];
aDQ[234]=[“4452″,”揭阳”,”44″,”jy”];
aDQ[235]=[“4453″,”云浮”,”44″,”yf”];
aDQ[236]=[“4501″,”南宁”,”45″,”nn”];
aDQ[237]=[“4502″,”柳州”,”45″,”lz”];
aDQ[238]=[“4503″,”桂林”,”45″,”gwgl”];
aDQ[239]=[“4504″,”梧州”,”45″,”gwwz”];
aDQ[240]=[“4505″,”北海”,”45″,”bh”];
aDQ[241]=[“4506″,”防城港”,”45″,”fcg”];
aDQ[242]=[“4507″,”钦州”,”45″,”gqz”];
aDQ[243]=[“4508″,”贵港”,”45″,”gg”];
aDQ[244]=[“4509″,”玉林”,”45″,”yl”];
aDQ[245]=[“4601″,”海口”,”46″,”hk”];
aDQ[246]=[“4602″,”三亚”,”46″,”hnsy”];
aDQ[247]=[“5002″,”重庆县区”,”50″,”zqxq”];
aDQ[248]=[“5003″,”重庆城区”,”50″,”zqcq”];
aDQ[249]=[“5101″,”成都”,”51″,”sccd”];
aDQ[250]=[“5103″,”自贡”,”51″,”zg”];
aDQ[251]=[“5104″,”攀枝花”,”51″,”pzh”];
aDQ[252]=[“5105″,”泸州”,”51″,”sczz”];
aDQ[253]=[“5106″,”德阳”,”51″,”dy”];
aDQ[254]=[“5107″,”绵阳”,”51″,”my”];
aDQ[255]=[“5108″,”广元”,”51″,”gy”];
aDQ[256]=[“5109″,”遂宁”,”51″,”sn”];
aDQ[257]=[“5110″,”内江”,”51″,”scnj”];
aDQ[258]=[“5111″,”乐山”,”51″,”ls”];
aDQ[259]=[“5113″,”南充”,”51″,”nc”];
aDQ[260]=[“5115″,”宜宾”,”51″,”yb”];
aDQ[261]=[“5116″,”广安”,”51″,”ga”];
aDQ[262]=[“5130″,”达州”,”51″,”scdz”];
aDQ[263]=[“5132″,”阿坝”,”51″,”ab”];
aDQ[264]=[“5133″,”甘孜”,”51″,”scgz”];
aDQ[265]=[“5134″,”凉山”,”51″,”scls”];
aDQ[266]=[“5201″,”贵阳”,”52″,”gzgy”];
aDQ[267]=[“5202″,”六盘水”,”52″,”lps”];
aDQ[268]=[“5203″,”遵义”,”52″,”gzzy”];
aDQ[269]=[“5223″,”黔西南”,”52″,”qwn”];
aDQ[270]=[“5226″,”黔东南”,”52″,”qdn”];
aDQ[271]=[“5227″,”黔南”,”52″,”qn”];
aDQ[272]=[“5301″,”昆明”,”53″,”km”];
aDQ[273]=[“5303″,”曲靖”,”53″,”qj”];
aDQ[274]=[“5304″,”玉溪”,”53″,”yx”];
aDQ[275]=[“5323″,”楚雄”,”53″,”cx”];
aDQ[276]=[“5325″,”红河”,”53″,”ynhh”];
aDQ[277]=[“5326″,”文山”,”53″,”ws”];
aDQ[278]=[“5328″,”西双版纳”,”53″,”wsbn”];
aDQ[279]=[“5329″,”大理”,”53″,”yndl”];
aDQ[280]=[“5331″,”德宏”,”53″,”dh”];
aDQ[281]=[“5333″,”怒江”,”53″,”nuj”];
aDQ[282]=[“5334″,”迪庆”,”53″,”yndq”];
aDQ[283]=[“51010963″,”丽江市”,”53″,”ljs”];
aDQ[284]=[“51012663″,”保山”,”53″,””];
aDQ[285]=[“5401″,”拉萨”,”54″,”wcls”];
aDQ[286]=[“6101″,”西安”,”61″,”wa”];
aDQ[287]=[“6102″,”铜川”,”61″,”tc”];
aDQ[288]=[“6103″,”宝鸡”,”61″,”swbj”];
aDQ[289]=[“6104″,”咸阳”,”61″,”swxy”];
aDQ[290]=[“6105″,”渭南”,”61″,”swwn”];
aDQ[291]=[“6106″,”延安”,”61″,”ya”];
aDQ[292]=[“6107″,”汉中”,”61″,”swhz”];
aDQ[293]=[“6201″,”兰州”,”62″,”gslz”];
aDQ[294]=[“6202″,”嘉峪关”,”62″,”jyg”];
aDQ[295]=[“6203″,”金昌”,”62″,”jc”];
aDQ[296]=[“6204″,”白银”,”62″,”by”];
aDQ[297]=[“6205″,”天水”,”62″,”ts”];
aDQ[298]=[“6229″,”临夏”,”62″,”lx”];
aDQ[299]=[“6230″,”甘南”,”62″,”gn”];
aDQ[300]=[“6301″,”西宁”,”63″,”wn”];
aDQ[301]=[“6322″,”海北”,”63″,”hai”];
aDQ[302]=[“6323″,”黄南”,”63″,”huang”];
aDQ[303]=[“6325″,”海南”,”63″,”qhhn”];
aDQ[304]=[“6326″,”果洛”,”63″,”gl”];
aDQ[305]=[“6327″,”玉树”,”63″,”ys”];
aDQ[306]=[“6328″,”海西”,”63″,”hw”];
aDQ[307]=[“6401″,”银川”,”64″,”yc”];
aDQ[308]=[“6402″,”石嘴山”,”64″,”szs”];
aDQ[309]=[“6403″,”吴忠”,”64″,”wz”];
aDQ[310]=[“6405″,”中卫”,”64″,”zw”];
aDQ[311]=[“6501″,”乌鲁木齐”,”65″,”wlmq”];
aDQ[312]=[“6502″,”克拉玛依”,”65″,”klmy”];
aDQ[313]=[“6523″,”昌吉”,”65″,”cj”];
aDQ[314]=[“6527″,”博尔塔拉”,”65″,”betl”];
aDQ[315]=[“6528″,”巴音郭楞”,”65″,”bygl”];
aDQ[316]=[“6530″,”克孜勒苏柯尔克孜”,”65″,”kzlskekz”];
aDQ[317]=[“6540″,”伊犁”,”65″,”xjyl”];
aDQ[318]=[“7101″,”台北”,”71″,””];
aDQ[319]=[“7102″,”宜兰”,”71″,””];
aDQ[320]=[“7103″,”桃园”,”71″,””];
aDQ[321]=[“7104″,”新竹”,”71″,””];
aDQ[322]=[“7105″,”苗栗”,”71″,””];
aDQ[323]=[“7106″,”台中”,”71″,””];
aDQ[324]=[“7107″,”彰化”,”71″,””];
aDQ[325]=[“7108″,”南投”,”71″,””];
aDQ[326]=[“7109″,”云林”,”71″,””];
aDQ[327]=[“7110″,”嘉义”,”71″,””];
aDQ[328]=[“7111″,”台南”,”71″,””];
aDQ[329]=[“7112″,”高雄”,”71″,””];
aDQ[330]=[“7113″,”屏东”,”71″,””];
aDQ[331]=[“7114″,”台东”,”71″,””];
aDQ[332]=[“7115″,”花莲”,”71″,””];
aDQ[333]=[“7116″,”澎湖”,”71″,””];
aDQ[334]=[“7117″,”基隆”,”71″,””];
aDQ[335]=[“7118″,”金门”,”71″,””];
aDQ[336]=[“7119″,”马祖”,”71″,””];
aDQ[337]=[“8101″,”新界”,”81″,””];
aDQ[338]=[“8102″,”香港岛”,”81″,””];
aDQ[339]=[“8103″,”大屿山”,”81″,””];
aDQ[340]=[“8104″,”九龙”,”81″,””];
aDQ[341]=[“8201″,”澳门本岛”,”82″,””];
aDQ[342]=[“8202″,”凼仔”,”82″,””];
aDQ[343]=[“8203″,”路环”,”82″,””];


//通过 DOM 创建下拉框 http://www.knowsky.com/qq.asp
//obj:下拉框的 options 数据集
//id:下拉框的 id
function CreateDropDownList(obj,id)
……{
    var sel=document.getElementById(id);
    sel.options.length=1;   //保存”—请选择—”
    //对于省份、城市常用 Array 存储,对于县、镇则用C#从数据库读取
    if(obj==null)return;
    if(obj instanceof Array)
    ……{
        for(var i=0;i<obj.length;i++)
        ……{
            var op=document.createElement(“option”);
            op.setAttribute(“value”,obj[i][0]);
            var txt=document.createTextNode(obj[i][1]);
            op.appendChild(txt);
            sel.appendChild(op);
        }
    }
    else
    ……{
        for(var i=0;i<obj.Rows.length;i++)  //注意这里是 length 不是 Count
        ……{
            var op=document.createElement(“option”);
            op.setAttribute(“value”,obj.Rows[i].ID);    //注意区分大小写
            var txt=document.createTextNode(obj.Rows[i].NAME);  //根 DataTable 的列名称要一致
            op.appendChild(txt);
            sel.appendChild(op);
        }
    }
    //绑定下一个下拉框
    switch(id)
    ……{
        case “SF”:sel.onchange=function()……{ClearXianZhen();CreateDropDownList(GetArray(this.value),”CS”);};break;
        case “CS”:sel.onchange=function()……{ClearZhen();CreateDropDownList(Area.GetDataTable(this.value,AreaEnum.Xian).value,”Xian”);};break;  //JS 向 C# 传递参数,并取得 C# 的返回值
        case “Xian”:sel.onchange=function()……{CreateDropDownList(Area.GetDataTable(this.value,AreaEnum.Zhen).value,”Zhen”);};break;   //返回值.value
        default:sel.onchange=function()……{alert(this.value);};break;
    }
}


//执行入口
var arr=GetArray(“0”);
CreateDropDownList(arr,”SF”);


//获取要求的数组
//tar=所属的省份ID
function GetArray(val)
……{
    var temp=new Array();
    var j=0;
    for(var i=0;i<aDQ.length;i++)
    ……{
        if(aDQ[i][2].toString()==val)
        ……{
            temp[j]=aDQ[i];
            //temp[j].push(aDQ[i]);
            j++;
        }
    }
    return temp;
}


//清空”镇”下拉框
function ClearZhen()
……{
    CreateDropDownList(null,”Zhen”);
}
//清空”县”和”镇”下拉框
function ClearXianZhen()
……{
    CreateDropDownList(null,”Xian”);
    CreateDropDownList(null,”Zhen”);
}


</script>


    </form>
</body>
</html>


 


using System;
using System.Data;
using System.Data.OracleClient;


public partial class Area : System.Web.UI.Page
…{
    protected void Page_Load(object sender, EventArgs e)
    …{
        //将C#的类和枚举分别注册到JS里
        AjaxPro.Utility.RegisterTypeForAjax(typeof(Area));
        AjaxPro.Utility.RegisterEnumForAjax(typeof(AreaEnum));
    }


    /**//// <summary>
    /// 取得下拉框所需数据
    /// </summary>
    /// <param name=”UpID”>上一级ID</param>
    /// <param name=”ae”>县/镇</param>
    /// <returns>返回 DataTable</returns>
    [AjaxPro.AjaxMethod]
    public DataTable GetDataTable(string UpID, AreaEnum ae)
    …{
        if (String.IsNullOrEmpty(UpID))
            return null;


        string link = “server=XXX;user=XXX;pwd=XXX;”;
        OracleConnection conn = new OracleConnection(link);


        //Oracle 返回的 DataTable 里的列名全是大写,在页面取值时记得大写
        string sql;
        if (Enum.Equals(ae, AreaEnum.Xian))
            sql = “SELECT id,name FROM City WHERE THREEID=0 AND TWOID=” + UpID;
        else
            sql = “SELECT id,name FROM City WHERE THREEID=” + UpID;


        OracleDataAdapter adapter = new OracleDataAdapter(sql, conn);
        DataTable table = new DataTable();
        adapter.Fill(table);
        return table;
    }
}


/**//// <summary>
/// 地区枚举
/// </summary>
public enum AreaEnum
…{
    /**//// <summary>
    /// 县
    /// </summary>
    Xian,
    /**//// <summary>
    /// 镇
    /// </summary>
    Zhen
}


 到此基本功能实现,还有些功能(通过域名\IP来判断地区并直接绑定,将选择好的地区保存,方便的读/存城市信息以便做成控件 等等)。有空再写完。


记得在 Web.config 的 <system.web> 加入


<httpHandlers>
    <add verb=”POST,GET” path=”ajaxpro/*.ashx” type=”AjaxPro.AjaxHandlerFactory, AjaxPro.2″/>
</httpHandlers>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 使用ajaxpro开发四级无刷新联动下拉框_ajax教程
分享到: 更多 (0)