jQuery ajax實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)
本文我們用Jquery,ajax,做一個(gè)省,市,縣的三級(jí)聯(lián)動(dòng):
下面是我做三級(jí)聯(lián)動(dòng)下拉的步驟以及邏輯
第一步:先做一個(gè)省市區(qū)表格
第二步:建個(gè)PHP頁(yè)面顯示用我是在<body>里放<div>用來(lái)接收要顯示的省市區(qū)表格信息,里面嵌入jquery-1.11.2.min.js和自己封裝的三聯(lián)動(dòng)省市區(qū)的方法
第三步:寫(xiě)封裝方法用JS
第四步:做個(gè)純php處理頁(yè)面,這個(gè)頁(yè)面處理傳過(guò)來(lái)的任何代號(hào)
首先我們要建立數(shù)據(jù)庫(kù):
這就是包含省,市,縣的數(shù)據(jù)庫(kù)。
下面我們就寫(xiě)主頁(yè)面:sanji.php:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> <script src="jquery-1.11.2.min.js"></script> <script src="sanjiliandong.js"></script> </head> <body> <div id="sanjiliandong"> <!--在這里使用三級(jí)聯(lián)動(dòng)插件--> </div> </body> </html>
然后就是js文件:
// JavaScript Document $(document).ready(function(e){ //向div里面仍三個(gè)下拉 var str = "<select id='sheng'></select><select id='shi'></select><select id='qu'></select>"; $("#sanjiliandong").html(str);//三個(gè)下拉顯示 //當(dāng)省選中的話市也會(huì)跟著變?nèi)ヒ矔?huì)變。市和區(qū)都會(huì)加載一遍 FillSheng();//省 FillShi();//市 FillQu();//區(qū) //給省加點(diǎn)擊事件 $("#sheng").change(function(){ FillShi();//市 FillQu();//區(qū) }) //給市加點(diǎn)擊事件 $("#shi").change(function(){ FillQu();//區(qū) }) }); //做三個(gè)方法分別為省市區(qū) //填充省的方法,如何在表里查詢(xún) 出省的代號(hào)例如:北京0001、天津0001,中國(guó)下面所有省都是0001開(kāi)頭的 function FillSheng() { var pcode = "0001"; $.ajax({ async:false, url:"chuli.php", data:{pcode:pcode}, type:"POST", dataType:"TEXT", success: function(data){ //返回?cái)?shù)據(jù),根據(jù)行于行之間的分隔符來(lái)拆,拆完之后會(huì)返回一數(shù)組/行的數(shù)組 var hang = data.split("|"); var str = "<option value='' >請(qǐng)選擇地區(qū)</option>"; //把行的數(shù)組遍歷下用for循環(huán)...length長(zhǎng)度 for(var i=0;i<hang.length;i++) { //把行的索引i在拆下.列與列的分隔符再拆 var lie = hang[i].split("^");//這是列的數(shù)組 str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>"; $("#sheng").html(str); } } }); } //填充市的方法 function FillShi() { var pcode = $("#sheng").val(); $.ajax({ async:false,//**** url:"chuli.php", data:{pcode:pcode}, type:"POST", dataType:"TEXT", success: function(data){ //返回?cái)?shù)據(jù),根據(jù)行于行之間的分隔符來(lái)拆,拆完之后會(huì)返回一數(shù)組/行的數(shù)組 var hang = data.split("|"); var str = "<option value='' >請(qǐng)選擇城市</option>"; //把行的數(shù)組遍歷下用for循環(huán)...length長(zhǎng)度 for(var i=0;i<hang.length;i++) { //把行的索引i在拆下.列與列的分隔符再拆 var lie = hang[i].split("^");//這是列的數(shù)組 str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>"; } $("#shi").html(str); } }); } //填充區(qū)的方法 function FillQu() { var pcode = $("#shi").val(); $.ajax({ async:false, url:"chuli.php", data:{pcode:pcode}, type:"POST", dataType:"TEXT", success: function(data){ //返回?cái)?shù)據(jù),根據(jù)行于行之間的分隔符來(lái)拆,拆完之后會(huì)返回一數(shù)組/行的數(shù)組 var hang = data.split("|"); var str = "<option value='' >請(qǐng)選擇鄉(xiāng)縣</option>"; //把行的數(shù)組遍歷下用for循環(huán)...length長(zhǎng)度 for(var i=0;i<hang.length;i++) { //把行的索引i在拆下.列與列的分隔符再拆 var lie = hang[i].split("^");//這是列的數(shù)組 str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>"; $("#qu").html(str); } } }); }
之后是查詢(xún)數(shù)據(jù)庫(kù)的處理文件:
<?php //處理頁(yè)面只有一個(gè)功能處理傳過(guò)來(lái)的所有代號(hào)(省、市、區(qū)。。。) include("DBDA.class.php"); $db = new DBDA(); $pcode = $_POST["pcode"];//取到賦值代號(hào) $sql = "select * from chinastates where parentareacode='{$pcode}'"; echo $db->StrQuery($sql);
顯示效果如下:
這就是我們要做的省,市,縣的三級(jí)聯(lián)動(dòng)。在這里我們重點(diǎn)強(qiáng)調(diào)一下一定要做好邏輯關(guān)系,想好了在去動(dòng)手寫(xiě)代碼,要不然容易混亂,這樣的話就只能從頭開(kāi)始。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- PHP+Mysql+Ajax+JS實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)
- AJAX省市區(qū)三級(jí)聯(lián)動(dòng)下拉菜單(java版)
- ajax三級(jí)聯(lián)動(dòng)下拉菜單效果
- ajax三級(jí)聯(lián)動(dòng)的實(shí)現(xiàn)方法
- jquery+ajax實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)效果簡(jiǎn)單示例
- jquery+ajax實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)(封裝和不封裝兩種方式)
- ajax實(shí)現(xiàn)無(wú)刷新省市縣三級(jí)聯(lián)動(dòng)
- ajax實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)的基本方法
- AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)具體代碼
- ajax實(shí)現(xiàn)城市三級(jí)聯(lián)動(dòng)
相關(guān)文章
jQuery插件WebUploader實(shí)現(xiàn)文件上傳
這篇文章主要為大家詳細(xì)介紹了jQuery插件WebUploader實(shí)現(xiàn)文件上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11jQuery.Validate 使用筆記(jQuery Validation范例 )
學(xué)習(xí)jQuery Validation,于是手寫(xiě)一公共范例,并收藏以便后用,里面附有測(cè)試代碼,需要的朋友一起來(lái)測(cè)試。2010-06-06EasyUI中實(shí)現(xiàn)form表單提交的示例分享
這里給大家分享的是一段使用EasyUI中實(shí)現(xiàn)form表單提交的方法的核心代碼,小伙伴們根據(jù)自己的需求補(bǔ)全form部分吧,希望大家能夠喜歡。2015-03-03JQuery異步加載無(wú)限下拉框級(jí)聯(lián)功能實(shí)現(xiàn)示例
這篇文章主要介紹了JQuery異步加載無(wú)限下拉框級(jí)聯(lián)功能的實(shí)現(xiàn),需要的朋友可以參考下2014-02-02將form表單通過(guò)ajax實(shí)現(xiàn)無(wú)刷新提交的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇將form表單通過(guò)ajax實(shí)現(xiàn)無(wú)刷新提交的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10jQuery實(shí)現(xiàn)簡(jiǎn)單的輪播圖
這篇文章主要為大家詳細(xì)介紹了jQuery實(shí)現(xiàn)輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11jQuery無(wú)刷新分頁(yè)完整實(shí)例代碼
這篇文章主要介紹了jQuery無(wú)刷新分頁(yè)實(shí)現(xiàn)方法,以完整實(shí)例形式分析了jQuery實(shí)現(xiàn)分頁(yè)的數(shù)值計(jì)算與元素操作相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10JQuery實(shí)現(xiàn)動(dòng)態(tài)操作表格
本文主要分享了jQuery實(shí)現(xiàn)對(duì)一個(gè)表格動(dòng)態(tài)的添加行,刪除行,并且對(duì)表格中內(nèi)容進(jìn)行非空驗(yàn)證的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-01-01