jQuery ajax實(shí)現(xiàn)省市縣三級聯(lián)動
本文我們用Jquery,ajax,做一個省,市,縣的三級聯(lián)動:
下面是我做三級聯(lián)動下拉的步驟以及邏輯
第一步:先做一個省市區(qū)表格
第二步:建個PHP頁面顯示用我是在<body>里放<div>用來接收要顯示的省市區(qū)表格信息,里面嵌入jquery-1.11.2.min.js和自己封裝的三聯(lián)動省市區(qū)的方法
第三步:寫封裝方法用JS
第四步:做個純php處理頁面,這個頁面處理傳過來的任何代號
首先我們要建立數(shù)據(jù)庫:

這就是包含省,市,縣的數(shù)據(jù)庫。
下面我們就寫主頁面: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"> <!--在這里使用三級聯(lián)動插件--> </div> </body> </html>
然后就是js文件:
// JavaScript Document
$(document).ready(function(e){
//向div里面仍三個下拉
var str = "<select id='sheng'></select><select id='shi'></select><select id='qu'></select>";
$("#sanjiliandong").html(str);//三個下拉顯示
//當(dāng)省選中的話市也會跟著變?nèi)ヒ矔?。市和區(qū)都會加載一遍
FillSheng();//省
FillShi();//市
FillQu();//區(qū)
//給省加點(diǎn)擊事件
$("#sheng").change(function(){
FillShi();//市
FillQu();//區(qū)
})
//給市加點(diǎn)擊事件
$("#shi").change(function(){
FillQu();//區(qū)
})
});
//做三個方法分別為省市區(qū)
//填充省的方法,如何在表里查詢 出省的代號例如:北京0001、天津0001,中國下面所有省都是0001開頭的
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ù)行于行之間的分隔符來拆,拆完之后會返回一數(shù)組/行的數(shù)組
var hang = data.split("|");
var str = "<option value='' >請選擇地區(qū)</option>";
//把行的數(shù)組遍歷下用for循環(huán)...length長度
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ù)行于行之間的分隔符來拆,拆完之后會返回一數(shù)組/行的數(shù)組
var hang = data.split("|");
var str = "<option value='' >請選擇城市</option>";
//把行的數(shù)組遍歷下用for循環(huán)...length長度
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ù)行于行之間的分隔符來拆,拆完之后會返回一數(shù)組/行的數(shù)組
var hang = data.split("|");
var str = "<option value='' >請選擇鄉(xiāng)縣</option>";
//把行的數(shù)組遍歷下用for循環(huán)...length長度
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ù)庫的處理文件:
<?php
//處理頁面只有一個功能處理傳過來的所有代號(省、市、區(qū)。。。)
include("DBDA.class.php");
$db = new DBDA();
$pcode = $_POST["pcode"];//取到賦值代號
$sql = "select * from chinastates where parentareacode='{$pcode}'";
echo $db->StrQuery($sql);
顯示效果如下:


這就是我們要做的省,市,縣的三級聯(lián)動。在這里我們重點(diǎn)強(qiáng)調(diào)一下一定要做好邏輯關(guān)系,想好了在去動手寫代碼,要不然容易混亂,這樣的話就只能從頭開始。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- PHP+Mysql+Ajax+JS實(shí)現(xiàn)省市區(qū)三級聯(lián)動
- AJAX省市區(qū)三級聯(lián)動下拉菜單(java版)
- ajax三級聯(lián)動下拉菜單效果
- ajax三級聯(lián)動的實(shí)現(xiàn)方法
- jquery+ajax實(shí)現(xiàn)省市區(qū)三級聯(lián)動效果簡單示例
- jquery+ajax實(shí)現(xiàn)省市區(qū)三級聯(lián)動(封裝和不封裝兩種方式)
- ajax實(shí)現(xiàn)無刷新省市縣三級聯(lián)動
- ajax實(shí)現(xiàn)三級聯(lián)動的基本方法
- AJAX和WebService實(shí)現(xiàn)省市縣三級聯(lián)動具體代碼
- ajax實(shí)現(xiàn)城市三級聯(lián)動
相關(guān)文章
jQuery插件WebUploader實(shí)現(xiàn)文件上傳
這篇文章主要為大家詳細(xì)介紹了jQuery插件WebUploader實(shí)現(xiàn)文件上傳,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
jQuery.Validate 使用筆記(jQuery Validation范例 )
學(xué)習(xí)jQuery Validation,于是手寫一公共范例,并收藏以便后用,里面附有測試代碼,需要的朋友一起來測試。2010-06-06
EasyUI中實(shí)現(xiàn)form表單提交的示例分享
這里給大家分享的是一段使用EasyUI中實(shí)現(xiàn)form表單提交的方法的核心代碼,小伙伴們根據(jù)自己的需求補(bǔ)全form部分吧,希望大家能夠喜歡。2015-03-03
JQuery異步加載無限下拉框級聯(lián)功能實(shí)現(xiàn)示例
這篇文章主要介紹了JQuery異步加載無限下拉框級聯(lián)功能的實(shí)現(xiàn),需要的朋友可以參考下2014-02-02
將form表單通過ajax實(shí)現(xiàn)無刷新提交的簡單實(shí)例
下面小編就為大家?guī)硪黄獙orm表單通過ajax實(shí)現(xiàn)無刷新提交的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
JQuery實(shí)現(xiàn)動態(tài)操作表格
本文主要分享了jQuery實(shí)現(xiàn)對一個表格動態(tài)的添加行,刪除行,并且對表格中內(nèi)容進(jìn)行非空驗(yàn)證的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧2017-01-01

