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ū)
//填充省的方法,如何在表里查詢 出省的代號(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);
}
}
});
}
之后是查詢數(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實(shí)現(xiàn)form表單基于ajax無(wú)刷新提交方法實(shí)例代碼
在本篇文章里小編給大家整理了關(guān)于jQuery實(shí)現(xiàn)form表單基于ajax無(wú)刷新提交方法實(shí)例代碼,需要的朋友們參考下。2019-11-11
jQuery插件pagewalkthrough實(shí)現(xiàn)引導(dǎo)頁(yè)效果
這篇文章主要介紹了jQuery插件pagewalkthrough實(shí)現(xiàn)引導(dǎo)頁(yè)效果的方法和示例代碼,十分的詳細(xì)和實(shí)用,有需要的小伙伴可以參考下。2015-07-07
JQuery自適應(yīng)IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
很高興,終于使用jquery實(shí)現(xiàn)了點(diǎn)擊外部鏈接,更改iframe內(nèi)容時(shí),iframe的高度自適應(yīng)問(wèn)題。2011-03-03
jquery實(shí)現(xiàn)人性化的有選擇性禁用鼠標(biāo)右鍵
與其使用比較暴力的手段禁用鼠標(biāo)右鍵,還不如有選擇性人性化的的禁用鼠標(biāo)右鍵,需要的朋友可以參考下2014-06-06
用jQuery實(shí)現(xiàn)圓點(diǎn)圖片輪播效果
在頁(yè)面的指定位置實(shí)現(xiàn)的圖片自動(dòng)的左右輪流切換展示效果,當(dāng)點(diǎn)擊圖片左下的標(biāo)簽(或中間的小圓點(diǎn))切換到對(duì)應(yīng)的圖片。接下來(lái)通過(guò)本文給大家分享用jQuery實(shí)現(xiàn)圓點(diǎn)圖片輪播效果實(shí)例代碼,需要的朋友參考下2017-03-03
jQuery頁(yè)面滾動(dòng)浮動(dòng)層智能定位實(shí)例代碼
jQuery頁(yè)面滾動(dòng)浮動(dòng)層智能定位實(shí)例代碼,需要的朋友可以參考下。2011-08-08
jQuery在ie6下無(wú)法設(shè)置select選中的解決方法詳解
這篇文章主要介紹了jQuery在ie6下無(wú)法設(shè)置select選中的解決方法,結(jié)合實(shí)例分析了jQuery在ie6下無(wú)法設(shè)置select選中的原因與相關(guān)處理技巧,需要的朋友可以參考下2016-09-09

