使用php ajax实现一个省市区的三级联动

要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择。

实现技术:php ajax

实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化。

使用chinastates表查询

Ajax加载数据

完成效果如下:

实现三级联动  以后可能 还会用到 所以 可以将其封装为一个方法

新建一个JS页面

代码如下:

// JavaScript Document
$(document).ready(function(e) {

	//向DIV里面扔三个下拉
	var str = "<select id=‘sheng‘></select><select id=‘shi‘></select><select id=‘qu‘></select>";
	$("#sanji").html(str);

	FillSheng();
	FillShi();
	FillQu();

	$("#sheng").change(function(){
			FillShi();
			FillQu();
		})
	$("#shi").change(function(){
			FillQu();
		})
});

//填充省的方法
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(var i=0;i<hang.length;i++)
					{
						var lie = hang[i].split("^");
						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){
					var hang = data.split("|");
					var str = "";
					for(var i=0;i<hang.length;i++)
					{
						var lie = hang[i].split("^");
						str += "<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";
					}
					$("#shi").html(str);
				}
		});
}
//填充区的方法
function FillQu()
{
	var pcode = $("#shi").val();
	$.ajax({
			url:"chuli.php",
			data:{pcode:pcode},
			type:"POST",
			dataType:"TEXT",
			success: function(data){
					var hang = data.split("|");
					var str = "";
					for(var i=0;i<hang.length;i++)
					{
						var lie = hang[i].split("^");
						str += "<option value=‘"+lie[0]+"‘>"+lie[1]+"</option>";
					}
					$("#qu").html(str);
				}
		});
}

  

async:false :             async 可以解释为异步  async:false 就是不异步 也就是同步了 async:true则相反
async:true

 async:false 


 





处理页面:

<?php
include("DBDA.class.php");
$db = new DBDA();
$code = $_POST["code"];
$sql="select AreaCode,AreaName from chinastates where ParentAreaCode = ‘{$code}‘";
echo $db->StrQuery($sql);

  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=utf-8" />
<title>无标题文档</title>
</head>
<script src="jquery-1.11.2.min.js"></script>
<script src="sanji.js"></script>

<body>
<div id="sanji">
</div>
</body>
</html>

  

最终效果:

时间: 2024-07-30 13:50:44

使用php ajax实现一个省市区的三级联动的相关文章

中国省市区地址三级联动jQuery插件 案例下载

中国省市区地址三级联动jQuery插件 案例下载 distpicker 是一款可以实现中国省市区地址三级联动jQuery插件.它使用简单,简单设置即可完成中国省市区地址联动效果. 安装 可以通过npm或bower来安装该三级联动插件. npm install distpicker bower install distpicker 使用方法 HTML结构 基本的HTML结构是使用一个<div>容器来包裹一组<select>元素. <div><!-- containe

2017-6-6 Ajax版页面无刷新三级联动

实现效果: 页面代码: <div> <select id="sel1" style="width:100px;"> </select> <select id="sel2" style="width:100px;"> </select> <select id="sel3" style="width:100px;"> &

类似于省市区的三级联动

三级联动,前一个的值会确定下一个下拉列表的内容(以地区为例,地区不全)

如何用jquery+ajax写省市区的三级联动?(封装和不封装两种方式)-----2017-05-14

首先,要实现如下图效果, 1.要理清思路: 先做出三个下拉菜单----根据第一个下拉菜单的value值获取第二个下拉列表的内容,第三个同理. 2.用到的数据库表:Chinastates表 规律:根据国家级(中国)的areacode查询省级(如:北京) ; 根据省级的areacode查询市级(如:北京市辖):根据市级的areacode查询区级(如东城区) 第一种方式:没有用到封装,数据读取较慢,可以看看原理,这样在第二种方式封装时就容易多了. 代码如下: <!DOCTYPE html> <

vue中的三级联动

1.template里面的内容 2.js里面的内容 3.函数怎么写? 这是一个省市区的三级联动,首先你要传递中国的id,这样才能获取到所有的省份,所以在vue的项目中,我需要发一次进页面就请求(来得到所有省份的数据) 4.现在一级的数据已经获取到了,需要获取二三级的函数, 这样,就已经完成了一个vue的三级联动的效果

ajax实现三级联动下拉菜单

先不要着急去实现功能,我们第一步首先要理清思路,想要实现三级联动,首先要有三个下拉框,然后点击第一个下拉菜单,可以联动到第二个,点击第二个联动到第三个,实现省市区的三级联动,用到的数据表如下: 为了以后可以随时拿出来用,我们先在主页面建立一个div叫sanji,然后用一个js页面来引用: 主页面引入Jquery和js: <title>无标题文档</title> <script src="jquery-3.2.0.min.js"></script

省市区三级联动

在日常的上网中,我们经常遇到省市区的选择,在这里我们讲解一下“省市区的三级联动” 第一:在html页面中写入div标签 <title>三级联动</title> <script src="jquery-2.0.0.min.js"></script> <script src="sanji.js"></script> </head> <body> <h1>省市区选择

AJAX+PHP实现三级联动

利用ajax实现页面地区选择三级联动 效果图如下 当选择相应省份时,对应显示出所有相关城市和地区的下拉选择 来看下如何实现的 html页面部分 <!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.

js中的省市区三级联动

想要实现省市区的三级联动,首先需要的是一个下拉框,这个下拉框用我们的<select>标签就能实现,具体如下: <select id="province" onchange="chooseProvince(this)"> <option value="1">请选择省</option> </select><select id="city" onchange=&quo