在JavaScript文件中用ajax方法实现省市区的三级联动

1.JavaScript Document

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

加载三个下拉列表
$("#sanji").html("<select id='sheng'></select><select id='shi'></select><select id='qu'></select>");

加载显示数据
加载省份
FillSheng();
加载市
FillShi();
加载区
FillQu();

当省份选中变化,重新加载市和区
$("#sheng").change(function(){
加载市
FillShi();
加载区
FillQu();
})
当市选中变化的时候,重新加载区
$("#shi").change(function(){
加载区
FillQu();
})

});

加载省份信息
function FillSheng()
{
取父级代号
var pcode = "0001";

根据父级代号查数据
$.ajax({
async:false,
url:"load.php",
data:{pcode:pcode},
type:"POST",
dataType:"JSON",
success:function(data){
var str = "";

for(var sj in data)
{
str = str+"<option value='"+data[sj].AreaCode+"'>"+data[sj].AreaName+"</option>";
}

$("#sheng").html(str);
}
});
}

加载市信息
function FillShi()
{
取父级代号
var pcode = $("#sheng").val();

根据父级代号查数据
$.ajax({
async:false,
url:"load.php",
data:{pcode:pcode},
type:"POST",
dataType:"JSON",
success:function(data){
var str = "";

for(var sj in data)
{
str = str+"<option value='"+data[sj].AreaCode+"'>"+data[sj].AreaName+"</option>";
}

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

加载区信息
function FillQu()
{
取父级代号
var pcode = $("#shi").val();

根据父级代号查数据
$.ajax({
url:"load.php",
data:{pcode:pcode},
type:"POST",
dataType:"JSON",
success:function(data){
var str = "";

for(var sj in data)
{
str = str+"<option value='"+data[sj].AreaCode+"'>"+data[sj].AreaName+"</option>";
}

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

 


 

 

2.封装数据库类文件

<?php

$pcode = $_POST["pcode"];
include("../fengzhuang/DBDA.class.php");
$db = new DBDA();

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

echo $db->JsonQuery($sql);

posted @ 2017-03-14 16:28  周全264  阅读(1087)  评论(0编辑  收藏  举报