本文實例講述了jquery+ajax實現省市區三級聯動效果。分享給大家供大家參考,具體如下:
一直想學習下Ajax,沒時間,汗,這借口太牽強了.下了點教程在手機里,翻了好幾遍了,沒實戰一次.
最近的項目里需要Ajax實現效果,就下了個jquery,然后找了個實例,學習了一下,幡然醒悟,NND,jquery果然強大的一塌糊涂,實現Ajax簡直就是不費吹灰之力.下面把學習過程跟大家分享下,雖然還沒有搞清楚jquery ajax的底層相關.不管了.我們不需要去發明輪子.呵呵.
先上代碼,是一個省市區三級聯動的ajax效果:
<select name='sheng' onchange='JavaScript:areas_load(this.value);' class="selectclass"> <option value='0'>請選擇省份</option><option value='13'>A - 安徽</option> <option value='33'>A - 澳門</option><option value='1'>B - 北京</option> <option value='4'>C - 重慶</option><option value='14'>F - 福建</option> <option value='21'>G - 廣西</option><option value='20'>G - 廣東</option> <option value='28'>G - 甘肅</option><option value='24'>G - 貴州</option> <option value='22'>H - 海南</option><option value='18'>H - 湖北</option> <option value='17'>H - 河南</option><option value='19'>H - 湖南</option> <option value='5'>H - 河北</option><option value='10'>H - 黑龍江</option> <option value='15'>J - 江西</option><option value='11'>J - 江蘇</option> <option value='9'>J - 吉林</option><option value='8'>L - 遼寧</option> <option value='30'>N - 寧夏</option><option value='7'>N - 內蒙古</option> <option value='29'>Q - 青海</option><option value='6'>S - 山西</option> <option value='23'>S - 四川</option><option value='2'>S - 上海</option> <option value='16'>S - 山東</option><option value='27'>S - 陜西</option> <option value='3'>T - 天津</option><option value='34'>T - 臺灣</option> <option value='26'>X - 西藏</option><option value='31'>X - 新疆</option> <option value='32'>X - 香港</option><option value='25'>Y - 云南</option> <option value='12'>Z - 浙江</option> </select> <SELECT NAME="shi" id="shi" class="selectclass" onchange="JavaScript:area_load(this.value);"> <option value=''>請選擇地級市</option> </SELECT> <SELECT NAME="xian" id="xian" class="selectclass"> <option value=''>請選擇縣級市</option> </SELECT> <script language="javascript"> function areas_load(id) { $.get("/ajax/areaajax.php", { areaid: id }, function(data){ $('#shi').html('<option value="">請選擇地級市</option>'); $('#xian').html('<option value="">請選擇縣級市</option>'); if(id!=0) $('#shi').append(data); }); } function area_load(id) { $.get("/ajax/areaajax.php", { areaid: id }, function(data){ $('#xian').html('<option value="">請選擇縣級市</option>'); if(id!=0) $('#xian').append(data); }); } </script>
代碼有些拙劣,大家見諒,下面說下這段代碼的工作流程.
首先是頁面中加載了jquery的js庫文件,這個不用多說吧.他是ajax效果賴以實現的必不可少的環節.
當下拉框被選中,觸發了onchange事件,該事件請求了一個函數areas_load(),如下:
function areas_load(id) { $.get("/ajax/areaajax.php", { areaid: id }, function(data){ $('#shi').html('<option value="">請選擇地級市</option>'); $('#xian').html('<option value="">請選擇縣級市</option>'); if(id!=0) $('#shi').append(data); }); }
該函數解釋如下:
當函數觸發時,以get方式傳遞參數areaid給指定的url地址,就變成了 /ajax/areaajax.php?areaid=x 這樣的地址,然后在這個php文件里接受areaid的值,輸出指定的代碼,function(data) 這個就是php文件里返回的全部代碼,當然是在成功完成的狀態下.由于jquery封裝了這一過程,所以在這里首先起來是非常簡便快捷的.再使用$('#shi').append(data) 賦值給指定的id.這樣一個ajax的完整過程就實現了.
我只是想把最精髓的地方說給大家,讓像我一樣的新手不在畏懼ajax這個事物,不在局限于一大堆的教材.說的再多不如一試,想學習ajax的馬上就可以開始行動起來啦.
在會用的基礎上,再去研究底層實現,這樣更有底氣,更有耐心和信心.
更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結》、《jQuery form操作技巧匯總》、《jQuery常用插件及用法總結》、《jQuery操作json數據技巧匯總》、《jQuery擴展技巧總結》、《jQuery拖拽特效與技巧總結》、《jQuery表格(table)操作技巧匯總》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》及《jquery選擇器用法總結》
希望本文所述對大家jQuery程序設計有所幫助。