html实现省市县选择,jQuery ajax实现省市县三级联动

本文我们用Jquery,ajax,做一个省,市,县的三级联动:

下面是我做三级联动下拉的步骤以及逻辑

第一步:先做一个省市区表格

第二步:建个PHP页面显示用我是在

里放
用来接收要显示的省市区表格信息,里面嵌入jquery-1.11.2.min.js和自己封装的三联动省市区的方法

第三步:写封装方法用JS

第四步:做个纯php处理页面,这个页面处理传过来的任何代号

首先我们要建立数据库:

7558b9fa7feb6dc91a415d2675a3680a.png

这就是包含省,市,县的数据库。

下面我们就写主页面:sanji.php:

Document

然后就是js文件:

// JavaScript Document

$(document).ready(function(e){

//向div里面仍三个下拉

var str = "";

$("#sanjiliandong").html(str);//三个下拉显示

//当省选中的话市也会跟着变去也会变。市和区都会加载一遍

FillSheng();//省

FillShi();//市

FillQu();//区

//给省加点击事件

$("#sheng").change(function(){

FillShi();//市

FillQu();//区

})

//给市加点击事件

$("#shi").change(function(){

FillQu();//区

})

});

//做三个方法分别为省市区

//填充省的方法,如何在表里查询 出省的代号例如:北京0001、天津0001,中国下面所有省都是0001开头的

function FillSheng()

{

var pcode = "0001";

$.ajax({

async:false,

url:"chuli.php",

data:{pcode:pcode},

type:"POST",

dataType:"TEXT",

success: function(data){

//返回数据,根据行于行之间的分隔符来拆,拆完之后会返回一数组/行的数组

var hang = data.split("|");

var str = "请选择地区";

//把行的数组遍历下用for循环...length长度

for(var i=0;i

{

//把行的索引i在拆下.列与列的分隔符再拆

var lie = hang[i].split("^");//这是列的数组

str += ""+lie[1]+"";

$("#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){

//返回数据,根据行于行之间的分隔符来拆,拆完之后会返回一数组/行的数组

var hang = data.split("|");

var str = "请选择城市";

//把行的数组遍历下用for循环...length长度

for(var i=0;i

{

//把行的索引i在拆下.列与列的分隔符再拆

var lie = hang[i].split("^");//这是列的数组

str += ""+lie[1]+"";

}

$("#shi").html(str);

}

});

}

//填充区的方法

function FillQu()

{

var pcode = $("#shi").val();

$.ajax({

async:false,

url:"chuli.php",

data:{pcode:pcode},

type:"POST",

dataType:"TEXT",

success: function(data){

//返回数据,根据行于行之间的分隔符来拆,拆完之后会返回一数组/行的数组

var hang = data.split("|");

var str = "请选择乡县";

//把行的数组遍历下用for循环...length长度

for(var i=0;i

{

//把行的索引i在拆下.列与列的分隔符再拆

var lie = hang[i].split("^");//这是列的数组

str += ""+lie[1]+"";

$("#qu").html(str);

}

}

});

}

之后是查询数据库的处理文件:

//处理页面只有一个功能处理传过来的所有代号(省、市、区。。。)

include("DBDA.class.php");

$db = new DBDA();

$pcode = $_POST["pcode"];//取到赋值代号

$sql = "select * from chinastates where parentareacode='{$pcode}'";

echo $db->StrQuery($sql);

显示效果如下:

fcdda2634719899bc9b156dbf20f5068.png

b66f99035d4d4d250f8ab5ebebeae5b2.png

这就是我们要做的省,市,县的三级联动。在这里我们重点强调一下一定要做好逻辑关系,想好了在去动手写代码,要不然容易混乱,这样的话就只能从头开始。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值