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. BZOJ 2287 DP+容斥

    思路: 先处理出来f[j]表示这i个物品都可用 填满容量j的方案数 容斥一发 处理出来g[j]=g[j-w[i]] 表示i不能用的时候 填满容量j的方案数 //By SiriusRen #includ ...

  2. POJ 1543 暴搜

    题意:输出a^3=b^3+c^3+d^3的所有a,b,c,d的值. b,c,d由小到大且b,c,d都大于1. 思路: 按照题意写就好.... // by SiriusRen #include < ...

  3. 解决:[WARNING] fpm_children_bury(), line 215: child 2736 (pool default) exited on signal 15 SIGTERM after 59.588363 seconds from start

    试用Nginx + PHP FastCGI 做WEB服务器,运行了几个月的时间,烦恼的是经常碰到Nginx 502 Bad Gateway 这个问题. 参考了很多修改办法,这个502的问题一直存在,今 ...

  4. Dragon Balls[HDU3635]

    Dragon Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...

  5. json字符串与json对象的相互转换

    什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSO ...

  6. Python测试(二)

    # 1.计算1-300之间所有能被3和7整除的所有数之和# num = 0# for i in range(1,300):# if i%3 ==0 and i%7 ==0:# num += i# pr ...

  7. 四、服务器上的 Git

    一个远程仓库通常只是一个裸仓库(bare repository)— 即一个没有当前工作目录的仓库.因为该仓库仅仅作为合作媒介,不需要从磁碟检查快照:存放的只有 Git 的资料.简单的说,裸仓库就是你专 ...

  8. struts2解决动态多文件上传的问题(上传文件与数据库字段一一对应)(转)

    struts2多文件上传我想只要会用struts2的朋友都不会陌生,但是怎么在action中根据用户上传的文 件把文件路径写到数据库中对应的字段上呢?ps:我的意思是这样,页面上有固定的5个上传文件的 ...

  9. SQL在线学习网站

    1.在线编写网页:http://sqlfiddle.com/ 2.SQL菜鸟教程:http://www.runoob.com/sql/sql-intro.html 3.SQL语句在线练习 http:/ ...

  10. React:关于虚拟DOM(Virtual DOM)

    Virtual DOM 是一个模拟 DOM 树的 JavaScript 对象. React 使用 Virtual DOM 来渲染 UI,当组件状态 state 有更改的时候,React 会自动调用组件 ...