加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

jQuery ajax实现省市县三级联动

发布时间:2020-12-15 23:19:22 所属栏目:百科 来源:网络整理
导读:下面我们用Jquery,ajax,做一个省,市,县的三级联动: 下面是我做三级联动下拉的步骤以及逻辑 第一步: 先做一个省市区表格 第二步: 建个PHP页面显示用我是在 里放 用来接收要显示的省市区表格信息,里面嵌入jquery-1.11.2.min.js和自己封装的三联动省市区

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

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

第一步:

先做一个省市区表格

第二步:

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

第三步:

写封装方法用JS

第四步:

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

首先我们要建立数据库:

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

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

Document

然后就是js文件:

//当省选中的话市也会跟着变去也会变。市和区都会加载一遍
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 = "<option value='' >请选择地区</option>";
  //把行的数组遍历下用for循环...length长度
  for(var i=0;i<hang.length;i++)
  {
    //把行的索引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",拆完之后会返回一数组/行的数组
var hang = data.split("|");

  var str = "<option value='' >请选择城市</option>";
  //把行的数组遍历下用for循环...length长度
  for(var i=0;i<hang.length;i++)
  {
    //把行的索引i在拆下.列与列的分隔符再拆
    var lie = hang[i].split("^");//这是列的数组
    str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";
  }
  $("#shi").html(str);
}

});
}
//填充区的方法
function FillQu()
{
var pcode = $("#shi").val();
$.ajax({
async:false,拆完之后会返回一数组/行的数组
var hang = data.split("|");

  var str = "<option value='' >请选择乡县</option>";
  //把行的数组遍历下用for循环...length长度
  for(var i=0;i<hang.length;i++)
  {
    //把行的索引i在拆下.列与列的分隔符再拆
    var lie = hang[i].split("^");//这是列的数组
    str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";

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

});
}

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

StrQuery($sql);

显示效果如下:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读