jQuery ajax+PHP實(shí)現(xiàn)的級聯(lián)下拉列表框功能示例
本文實(shí)例講述了jQuery ajax+PHP實(shí)現(xiàn)的級聯(lián)下拉列表框功能。分享給大家供大家參考,具體如下:
一 代碼
fun.js:
// JavaScript Document $(document).ready( function(){ $.get("returnpc.php?flag=p", null, function(data){ //向服務(wù)器發(fā)送GET請求,獲取省份的值,并將結(jié)果追加到省份下拉列表中 $("#p").append(data); }); $("#c").css("display","none"); //初始狀態(tài)使城市下拉列表不可見 $("#p").change(function(){ //為省份下拉列表增加改變事件 if($("#p").val()==""){ //在沒選擇省份的情況下,使城市下拉列表不可見 $("#c").css("display","none"); }else{ $.get("returnpc.php?flag=c&p="+$("#p").val(), null, function(data){ //如果選擇了某省份,則向服務(wù)器發(fā)送GET請求,使用回調(diào)函數(shù)為城市下拉列表賦值,并使城市下拉列表可見 $("#c").css("display",""); $("#c").empty(); $("#c").append(data); //將數(shù)據(jù)追加到城市下拉列表 }); } }); } );
index.php:
<!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> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>使用jQuery制作級聯(lián)下拉選擇框選擇地區(qū)</title> </head> <script language="javascript" src="js/jquery-1.3.2.js"></script> <script language="javascript" src="js/fun.js"></script> <body> <select id="p" name="p" > <option value="">-請選擇地區(qū)-</option> </select> <select id="c" name="c"> </select> </body> </html>
pc.php:
<?php /* 說明: 全國(省,直轄市,自治區(qū),特別行政區(qū))數(shù)組*/ $p = array('北京','上海','天津','重慶','黑龍江','吉林','遼寧','內(nèi)蒙古','河北','河南','山東','山西','江蘇','安徽','陜西','寧夏','甘肅','青海','湖北','湖南','浙江','江西','福建','貴州','四川','廣東','廣西','云南','海南','新疆'); /* 說明: 省,市,直轄市,自治區(qū)所屬的城市數(shù)組*/ $c = array(); $c[0] = array('北京'); $c[1] = array('上海'); $c[2] = array('天津'); $c[3] = array('重慶'); $c[4] = array('哈爾濱','齊齊哈爾','牡丹江','大慶','伊春','雙鴨山','鶴崗','雞西','佳木斯','七臺河','黑河','綏化','大興安嶺'); $c[5] = array('長春','延邊','吉林','白山','白城','四平','松原','遼源','大安','通化'); $c[6] = array('沈陽','大連','葫蘆島','旅順','本溪','撫順','鐵嶺','遼陽','營口','阜新','朝陽','錦州','丹東','鞍山'); $c[7] = array('呼和浩特','呼倫貝爾','錫林浩特','包頭','赤峰','海拉爾','烏海','鄂爾多斯','通遼'); $c[8] = array('石家莊','唐山','張家口','廊坊','邢臺','邯鄲','滄州','衡水','承德','保定','秦皇島'); $c[9] = array('鄭州','開封','洛陽','平頂山','焦作','鶴壁','新鄉(xiāng)','安陽','濮陽','許昌','漯河','三門峽','南陽','商丘','信陽','周口','駐馬店'); $c[10] = array('濟(jì)南','青島','淄博','威海','曲阜','臨沂','煙臺','棗莊','聊城','濟(jì)寧','菏澤','泰安','日照','東營','德州','濱州','萊蕪','濰坊'); $c[11] = array('太原','陽泉','晉城','晉中','臨汾','運(yùn)城','長治','朔州','忻州','大同','呂梁'); $c[12] = array('南京','蘇州','昆山','南通','太倉','吳縣','徐州','宜興','鎮(zhèn)江','淮安','常熟','鹽城','泰州','無錫','連云港','揚(yáng)州','常州','宿遷'); $c[13] = array('合肥','巢湖','蚌埠','安慶','六安','滁州','馬鞍山','阜陽','宣城','銅陵','淮北','蕪湖','毫州','宿州','淮南','池州'); $c[14] = array('西安','韓城','安康','漢中','寶雞','咸陽','榆林','渭南','商洛','銅川','延安'); $c[15] = array('銀川','固原','中衛(wèi)','石嘴山','吳忠'); $c[16] = array('蘭州','白銀','慶陽','酒泉','天水','武威','張掖','甘南','臨夏','平?jīng)?,'定西','金昌'); $c[17] = array('西寧','海北','海西','黃南','果洛','玉樹','海東','海南'); $c[18] = array('武漢','宜昌','黃岡','恩施','荊州','神農(nóng)架','十堰','咸寧','襄樊','孝感','隨州','黃石','荊門','鄂州'); $c[19] = array('長沙','邵陽','常德','郴州','吉首','株洲','婁底','湘潭','益陽','永州','岳陽','衡陽','懷化','韶山','張家界'); $c[20] = array('杭州','湖州','金華','寧波','麗水','紹興','雁蕩山','衢州','嘉興','臺州','舟山','溫州'); $c[21] = array('南昌','萍鄉(xiāng)','九江','上饒','撫州','吉安','鷹潭','宜春','新余','景德鎮(zhèn)','贛州'); $c[22] = array('福州','廈門','龍巖','南平','寧德','莆田','泉州','三明','漳州'); $c[23] = array('貴陽','安順','赤水','遵義','銅仁','六盤水','畢節(jié)','凱里','都勻'); $c[24] = array('成都','瀘州','內(nèi)江','涼山','阿壩','巴中','廣元','樂山','綿陽','德陽','攀枝花','雅安','宜賓','自貢','甘孜州','達(dá)州','資陽','廣安','遂寧','眉山','南充'); $c[25] = array('廣州','深圳','潮州','韶關(guān)','湛江','惠州','清遠(yuǎn)','東莞','江門','茂名','肇慶','汕尾','河源','揭陽','梅州','中山','德慶','陽江','云浮','珠海','汕頭','佛山'); $c[26] = array('南寧','桂林','陽朔','柳州','梧州','玉林','桂平','賀州','欽州','貴港','防城港','百色','北海','河池','來賓','崇左'); $c[27] = array('昆明','保山','楚雄','德宏','紅河','臨滄','怒江','曲靖','思茅','文山','玉溪','昭通','麗江','大理'); $c[28] = array('???,'三亞','儋州','瓊山','通什','文昌'); $c[29] = array('烏魯木齊','阿勒泰','阿克蘇','昌吉','哈密','和田','喀什','克拉瑪依','石河子','塔城','庫爾勒','吐魯番','伊寧'); ?>
returnpc.php:
<?php require_once 'pc.php'; //包含省份數(shù)組和城市數(shù)組 $flag = $_GET['flag']; //用于區(qū)分是返回省份信息還是返回城市信息 $str=""; if($flag == p){ //如果參數(shù)flag的值為p,則返回省份信息 for($i=0; $i<count($p); $i++){ //通過循環(huán)整理所有要追加到省份下拉列表的內(nèi)容 $str.="<option value=\"".iconv('gbk','utf-8',$p[$i])."\">".iconv('gbk','utf-8',$p[$i])."</option>"; } echo $str; //輸出要返回的參數(shù) }else{ $index = array_search($_GET['p'], $p); //提取所選擇省份的在省份數(shù)組中對應(yīng)的鍵值 for($j=0; $j<count($c[$index]); $j++){ //通過循環(huán)整理所有要追加到城市下拉列表的內(nèi)容 $str.= "<option value=\"".iconv('gbk','utf-8',$c[$index][$j])."\">".iconv('gbk','utf-8',$c[$index][$j])."</option>"; } echo $str; //輸出要返回的參數(shù) } ?>
二 運(yùn)行結(jié)果
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP+ajax技巧與應(yīng)用小結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
- jquery+json 通用三級聯(lián)動下拉列表
- jQuery結(jié)合PHP+MySQL實(shí)現(xiàn)二級聯(lián)動下拉列表[實(shí)例]
- jQuery實(shí)現(xiàn)多級聯(lián)動下拉列表查詢框
- jQuery 下拉列表 二級聯(lián)動插件分享
- 基于jquery的二級聯(lián)動菜單實(shí)現(xiàn)代碼
- 簡單實(shí)用jquery版三級聯(lián)動select示例
- JQuery實(shí)現(xiàn)級聯(lián)下拉框效果實(shí)例講解
- jquery 實(shí)現(xiàn)二級/三級/多級聯(lián)動菜單的思路及代碼
- 省市區(qū)三級聯(lián)動jquery實(shí)現(xiàn)代碼
- 基于jquery的無限級聯(lián)下拉框js插件
- jQuery實(shí)現(xiàn)動態(tài)生成年月日級聯(lián)下拉列表示例
相關(guān)文章
PHP觀察者模式原理與簡單實(shí)現(xiàn)方法示例
這篇文章主要介紹了PHP觀察者模式原理與簡單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了php觀察者模式的概念、原理、實(shí)現(xiàn)方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-08-08學(xué)習(xí)php設(shè)計(jì)模式 php實(shí)現(xiàn)享元模式(flyweight)
這篇文章主要介紹了php設(shè)計(jì)模式中的享元模式,使用php實(shí)現(xiàn)享元模式,感興趣的小伙伴們可以參考一下2015-12-12PHP獲取數(shù)組表示的路徑方法分析【數(shù)組轉(zhuǎn)字符串】
這篇文章主要介紹了PHP獲取數(shù)組表示的路徑,結(jié)合實(shí)例形式對比分析了數(shù)組轉(zhuǎn)字符串的實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09基于php數(shù)組中的索引數(shù)組和關(guān)聯(lián)數(shù)組詳解
下面小編就為大家分享一篇基于php數(shù)組中的索引數(shù)組和關(guān)聯(lián)數(shù)組詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-03-03php數(shù)組函數(shù)序列之each() - 獲取數(shù)組當(dāng)前內(nèi)部指針?biāo)赶蛟氐逆I名和鍵值,并將指針移到下一位
each() 函數(shù)生成一個(gè)由數(shù)組當(dāng)前內(nèi)部指針?biāo)赶虻脑氐逆I名和鍵值組成的數(shù)組,并把內(nèi)部指針向前移動。返回的數(shù)組中包括的四個(gè)元素:鍵名為 0,1,key 和 value。單元 0 和 key 包含有數(shù)組單元的鍵名,1 和 value 包含有數(shù)據(jù)2011-10-10