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. ffmpeg键盘命令响应程序详解

    一.对终端进行读写 当一个程序在命令提示符中被调用时, shell负责将标准输入和标准输出流连接到你的程序, 实现程序与用户间的交互.   1. 标准模式和非标准模式 在默认情况下, 只有用户按下回车 ...

  2. Spark编程模型几大要素

    不多说,直接上干货! Spark编程模型几大要素 Driver Program 输入-Transformation-Action 缓存 共享变量

  3. 多线程与MySQL(十)

    1.1 多线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合 ...

  4. (转)Django学习之 第一章:Django介绍

    Django: Python编程Web框架 如果你上djangoproject.com你会发现对Django的如下解释: “Django is a high-level Python Web fram ...

  5. P3图片导致iOS9.3以下崩溃问题

    如果你刚刚升级了Xcode8,而你的项目的Deployment Target是iOS 9.3以下,运行iOS8的时候过了几十秒后crash到main函数,出现EXC_BAD_ACCESS,或者崩溃到i ...

  6. Python爬虫:爬取糗事百科

    网上看到的教程,但是是用正则表达式写的,并不能运行,后面我就用xpath改了,然后重新写了逻辑,并且使用了双线程,也算是原创了吧#!/usr/bin/python# -*- encoding:utf- ...

  7. 3DSMAX制作逼真的欧式沙发建模教程

    这篇教程是朋友们介绍利用3DSMAX制作逼真的欧式沙发建模,教程制作出来的效果真心很不错,通过这篇教程,大家可以学习沙发建模的制作方法和思路,推荐过来,一起来学习吧! 3DSMAX软件下载:http: ...

  8. JS怎样写闰年

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  9. 利用Java反射机制对实体类的常用操作工具类ObjectUtil

    代码: ObjectUtil类: import java.lang.reflect.Field; import java.math.BigDecimal; import java.text.Simpl ...

  10. 进程线程之pid,tid

    Linux中,每个进程有一个pid,类型pid_t,由getpid()取得.Linux下的POSIX线程也有一个id,类型pthread_t,由pthread_self()取得,该id由线程维护,其i ...