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. c++面向对象程序设计 谭浩强 第五章答案

    1: #include <iostream> using namespace std; class Student {public: void get_value() {cin>&g ...

  2. 欢迎来到Flask的世界

    不多说,直接上文档链接:Flask的文档 教程 API 快速上手

  3. 通过obs进行推流

    我们除了通过ffmpeg进行推流外还可以使用OBS这个软件进行推流, 界面化工具,配置起来也方便 obs下载地址 obs的基本配置使用教程 这里需要注意的是在填写推流地址URL 的时候 有一个流秘钥 ...

  4. Date.getTime() 结果为 NaN

    yyyy-MM-dd 格式的时间,部分浏览器环境下转换为 Date 对象后调用 getTime() 方法的结果为 NaN. 需要将 - 替换为 / var dateStr = '2019-01-01' ...

  5. python2中新式类和旧式类的对比【译】

    Classes and instances come in two flavors: old-style (or classic) and new-style. ➤类和实例分为两大类:旧式类和新式类. ...

  6. 实现简单的List功能

    简单的实现javaArrayList(可扩容)功能,实现新增,删除,取数据. package algorithm.data_structure; /** * 模拟ArrayList类的功能 * @au ...

  7. pgpool中的配置参数的定义

    /* * configuration parameters */typedef struct {    char *listen_addresses;            /* hostnames/ ...

  8. LA 3635 Pie

    题意:给出n个圆,分给n+1个人,求每个人最多能够得到多大面积的圆 二分每个人得到的圆的面积 #include<iostream> #include<cstdio> #incl ...

  9. gbk编码

    GBK 编码   GBK编码范围:8140-FEFE,汉字编码范围见第二节:码位分配及顺序. GBK编码,是对GB2312编码的扩展,因此完全兼容GB2312-80标准.GBK编码依然采用双字节编码方 ...

  10. maven的pom.xml配置json依赖

    <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art ...