html

<div id="frame"></div>

js

$(function(){
//拼接省市区下拉框
var str = `<select id='sheng'></select>
<select id='shi'></select>
<select id='qu'></select>`;
$('#frame').html(str);
//页面加载完成后执行省市区显示函数。
sheng();
shi();
qu();
//省市添加改变函数,当这一项改变时下面的项跟着改变
$('#sheng').change(function(){
shi();
qu();
})
$('#shi').change(function(){
qu();
})
})
//省显示函数
function sheng(){
//设置pid为0
var pcode = '0';
var str = '';
//异步进行,pid传入后台,返回的json第0项为id 第1项为地区名
//循环拼接option,放入html
$.ajax({
type:"post",
url:"sjll.php",
async:false,
data:{
pcode:pcode
},
dataType:'json',
success:function(data){
for(var i = 0; i < data.length; i++){
str += "<option value='"+data[i][0]+"'>"+data[i][1]+"</option>";
}
$('#sheng').html(str);
}
});
}
function shi(){
//获取省的id值为市的pid
var pcode = $('#sheng').val();
var str = '';
//异步进行,pid传入后台,返回的json第0项为id 第1项为地区名
//循环拼接option,放入html
$.ajax({
type:"post",
url:"sjll.php",
async:false,
data:{
pcode:pcode
},
dataType:'json',
success:function(data){
for(var i = 0; i < data.length; i++){
str += "<option value='"+data[i][0]+"'>"+data[i][1]+"</option>";
}
$('#shi').html(str);
}
});
}
function qu(){
//获取市的id值为区的pid
var pcode = $('#shi').val();
var str = '';
//异步进行,pid传入后台,返回的json第0项为id 第1项为地区名
//循环拼接option,放入html
$.ajax({
type:"post",
url:"sjll.php",
async:false,
data:{
pcode:pcode
},
dataType:'json',
success:function(data){
for(var i = 0; i < data.length; i++){
str += "<option value='"+data[i][0]+"'>"+data[i][1]+"</option>";
}
$('#qu').html(str);
}
});
}

php

<?php
$db = new MySQLi('localhost','root','1','test');
!mysqli_connect_error() or die ('连接错误');
$db->query('set names utf8');
//获取传值pid
$pcode = $_POST['pcode'];
//查找当前pid下的所有内容
$sql = "select * from dt_area where pid = $pcode";
$res = $db->query($sql);
$attr = $res->fetch_all();
//返回json格式
echo json_encode($attr);
?>

注意:

  这里的ajax使用同步传输方式,因为当省执行完市才能拿到省的id值。

三级联动(ajax同步)的更多相关文章

  1. AJAX 三级联动

    新的封装类 <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root"; ...

  2. AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;

    js做日期选择: 实现当前年份的前5后5年的日期选择 实现功能:年份和月份页面加载完成使用JS循环添加,天数根据月份的变化动态添加改变 扩展功能:天数可以根据闰年平年变化 <body> & ...

  3. php+ajax的三级联动下拉菜单

    封装一个三级联动,就可以在任何页面进行引用了 先写个页面引用一下这个js <head> <meta http-equiv="Content-Type" conte ...

  4. AJAX实现三级联动

    省市区三级联动插件: 主页面:为方便使用,不用写过多代码,只写一个id为sanji的div,若别的页面要用,只需写一个id为sanji的div,加载上jQuery与sanji.js文件即可 <! ...

  5. 0509 关于Ajax + 三级联动示例

    关于Ajax 1.干什么的? ajax负责抓取用户名信息,传递给服务器进行校验: 2.属性: onreadystatechange:事件,该事件可以感知ajax状态(readyState)的变化.aj ...

  6. ajax之三级联动(省市县)

    ajax可以实现页面的局部刷新. 浏览器创建ajax引擎对象,ajax引擎对象向服务器发送请求,服务器把响应好的数据响应给ajax引擎对象,ajax引擎对象把数据放在合适的位置.       异步:先 ...

  7. wex5 实战 省市县三级联动与地址薄同步

    无论是商城,还是快递,都要用到省市县三级联动,和地址薄,今天就以实战来制作,难点有3个: 1:三级联动,有wex5组件实现,相对简单,实战里对行数据进行了拼接 2:  地址薄选项,利用inputSel ...

  8. ajax省市区三级联动

    jdbc+servlet+ajax开发省市区三级联动 技术点:jdbc操作数据库,ajax提交,字符拦截器,三级联动 特点:局部刷新达到省市区三级联动,举一反三可以做商品分类等 宗旨:从实战中学习 博 ...

  9. 完整的Ajax及三级联动小练习

    Ajax结构: var name = $("#text_1").val(); $.ajax({ url: "Ashxs/Handler.ashx",//一般处理 ...

  10. Ajax案例:三级联动查询员工的信息(三张表进行内连接)

    需求分析: 通过数据库连接池,可以查询到数据库中员工的各种信息,通过点击下拉框的方式实现三级联动,即:没有点击city下拉框,后面两个下拉框中没有值,这样,点击city下拉框,department下拉 ...

随机推荐

  1. 7.treeview

    ui mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include < ...

  2. caffe study- AlexNet 之算法篇

    在机器学习中,我们通常要考虑的一个问题是如何的“以偏概全”,也就是以有限的样本或者结构去尽可能的逼近全局的分布.这就要在样本以及结构模型上下一些工夫. 在一般的训练任务中,考虑的关键问题之一就是数据分 ...

  3. Spark的数据存储(十九)

    Spark本身是基于内存计算的架构,数据的存储也主要分为内存和磁盘两个路径.Spark本身则根据存储位置.是否可序列化和副本数目这几个要素将数据存储分为多种存储级别.此外还可选择使用Tachyon来管 ...

  4. 利用bat批处理——实现数据库的自动备份和删除

    之前见别人一直在玩批处理,最近公司也在用,就顺便学习下: 首先创建一个 txt文件 命名BackupDataBase  并修改后缀为.bat 编写两条命令: sqlcmd -S . -E -Q &qu ...

  5. 01《UML大战需求分析》阅读笔记之一

    在大二的时候就已经在课堂上对UML也就是统一建模语言有了初步的了解,但是却不怎么明白,虽然可以画图可以完成任务,但是有些糊里糊涂.所以特地把这门书作为精读书籍,想要更加深度地学习UML.很多内容只用语 ...

  6. Java基础——过滤器和监听器

    什么是过滤器? Servlet过滤器和Servlet十分相似,但它具有拦截客户端请求的功能,Servlet过滤器可以改变请求中的内容,来满足实际开发中的需要.对于开发人员而言,过滤器实际上就是在Web ...

  7. Eclipse中使用GIT将已提交到本地的文件上传至远程仓库

    GIT将已提交到本地的文件上传至远程仓库: 1.  右击项目——Team——Push to Upstream,即可将已保存在本地的文件上传推至GIT远程仓库.

  8. Day 01 计算机编程基础

    1.编程语言是什么? 编程语言是人与计算机交流的介质 2.什么是编程? 用编程语言写出一个个文件,这堆文件会达到一个目的 3.编程有什么用? 让计算机帮助我们干活,从而解放人类劳动力 4.计算机组成原 ...

  9. React中的setState(obj)

    1.setState(obj)  只能浅merge obj,对于复杂对象结构的不行 比如:  this.state = {   data:{  idx:1 }   }   this.setState( ...

  10. You-Dont-Need-JQuery (你不需要JQuery)

    看完这篇文章我才觉得真的要用JQuery ,因为实在是有些地方设计的使用太复杂了, document.querySelector() 和 Document.querySelectorAll 的确是很方 ...