省市区三级联动

Posted 坏小子之涛声依旧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了省市区三级联动相关的知识,希望对你有一定的参考价值。

在日常的上网中,我们经常遇到省市区的选择,在这里我们讲解一下“省市区的三级联动”

第一:在html页面中写入div标签

<title>三级联动</title>
<script src="jquery-2.0.0.min.js"></script>
<script src="sanji.js"></script>
</head>

<body>
<h1>省市区选择</h1>
<div id="sanji"></div>

  

第二:在JScript中运行的代码

1.首先是下拉列表填充事件

$(document).ready(function(e) {
    
	$("#sanji").html("<select id=\'sheng\'></select><select id=\'shi\'></select><select id=\'qu\'></select>");
	
	//填充内容
	//1.填充省
	FillSheng();
	//2.填充市
	FillShi();
	//3.填充区
	FillQu();

  

2.如果第一级的省选择发生变化,第二级和第三级也会发生变化

//如果省选中变化了,去填充市和区
	$("#sheng").change(function(){
		
		//改变市
		FillShi();
		//改变区
		FillQu();
		
		})

  

3.如果第二级的市选择发生变化,第三级就会发生变化

 

//如果市选择变化了,去填充区
	$("#shi").change(function(){
		//改变区
		FillQu();
		
		})

 

  

 

4.上面引用的省填充fillsheng()函数

//填充省的方法
	function FillSheng()
	{
		//找到父级代号
		var pcode="0001";
		//调用ajax
		$.ajax({
			
			async:false,
			url:"chuli.php",
			data:{pcode:pcode},
			type:"POST",
			dataType:"TEXT",
			success: function(data){
				
				var str="";
				var hang = data.split("|");
				
				for(var i=0;i<hang.length;i++)
				{
					var lie=hang[i].split("^");
					str+="<option value=\'"+lie[0]+"\'>"+lie[1]+"</option>";
					
				}
				
				$("#sheng").html(str);
				
				}
			
			});
	}

  

5.上面引用的市填充fillshi()函数

//填充市的方法
	function FillShi()
	{
		//找到父级代号
		var pcode=$("#sheng").val();
		//调用ajax
		$.ajax({
			
			async:false,
			url:"chuli.php",
			data:{pcode:pcode},
			type:"POST",
			dataType:"TEXT",
			success: function(data){
				
				var str="";
				var hang = data.split("|");
				
				for(var i=0;i<hang.length;i++)
				{
					var lie=hang[i].split("^");
					str+="<option value=\'"+lie[0]+"\'>"+lie[1]+"</option>";
					
				}
				
				$("#shi").html(str);
				
				}
			
			});
	}

  

6.上面引用的区填充fillqu()函数

//填充区的方法
	function FillQu()
	{
		//找到父级代号
		var pcode=$("#shi").val();
		//调用ajax
		$.ajax({
			
			async:false,
			url:"chuli.php",
			data:{pcode:pcode},
			type:"POST",
			dataType:"TEXT",
			success: function(data){
				
				var str="";
				var hang = data.split("|");
				
				for(var i=0;i<hang.length;i++)
				{
					var lie=hang[i].split("^");
					str+="<option value=\'"+lie[0]+"\'>"+lie[1]+"</option>";
					
				}
				
				$("#qu").html(str);
				
				}
			
			});
	}

  

第三:在JScript中的ajax运行的chuli.php代码

<?php
$pcode=$_POST["pcode"];

include("DBDA.class.php");
$db=new DBDA();

$sql = "select AreaCode,AreaName,ParentAreaCode from Chinastates where ParentAreaCode=\'{$pcode}\'";

echo $db->StrQuery($sql);

  

以上是关于省市区三级联动的主要内容,如果未能解决你的问题,请参考以下文章

三级联动怎么回显 javaweb

省市区三级菜单联动插件

c# 做省市县联动

省市区三级联动(vue)

调接口省市区三级联动相关代码

省市区三级联动