异步执行

1数据传输收发数据的时候不用等待对方接受,可以继续发送

2Ajax 在调用处理页面处理数据的时候,下面的代码可以继续执行,效率高

同步执行

1收发数据的时候要等到对方接受的成功,才可以继续发送下一个

2ajax 在调用处理页面数据的时候,下面的代码不能执行,只有当ajax完全执行完之后,才能继续执行下面代码

Async :false 关闭异步,开启同步

显示页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" src="../../popwindow/jquery-1.11.2.min.js"></script>
</head> <body>
<div id="sanji"></div>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
//创建表单
var zhuti="<select size='1' id='sheng'></select><select size='1' id='shi'></select><select size='1' id='qu'></select>";
$("#sanji").html(zhuti);
//填充sheng
FillSheng();
//填充shi
FillShi();
//填充qu
Fillqu();
//当选中省变化的时候去填充市和区
$("#sheng").change(function(e) {
//填充shi
FillShi();
//填充qu
Fillqu(); });
//当市选中的时候去选中区
$("#shi").change(function(e) {
//填充qu
Fillqu();
}); });
function FillSheng()
{
var pcode="";//省的父级代号
//调用ajax
$.ajax({
async:false,//关闭同步开启同步关闭异步
url:"chuli.php",
type:"POST",
dataType:"text" ,
data:{pcode:pcode},
success: function(data)
{ //拆分返回的字符串,得到的行的数组
var hang=data.trim().split("|");
var str="";
for(var i=; i<hang.length;i++)
{
var lie= hang[i].split("^");
str=str+"<option value='"+lie[]+"'>"+lie[]+"</option>"; }
$("#sheng").html(str);
}
}); }
function FillShi()
{
var pcode=$("#sheng").val(); //市的父级代号
//调用ajax
$.ajax({
async:false,//开启同步关闭异步
url:"chuli.php",
type:"POST",
dataType:"text" ,
data:{pcode:pcode},
success: function(data)
{ //拆分返回的字符串,得到的行的数组
var hang=data.trim().split("|");
var str="";
for(var i=; i<hang.length;i++)
{
var lie= hang[i].split("^");
str=str+"<option value='"+lie[]+"'>"+lie[]+"</option>"; }
$("#shi").html(str);
}
});
}
function Fillqu()
{
var pcode=$("#shi").val();//市的父级代号
//调用ajax
$.ajax({
async:false,//关闭同步开启同步关闭异步
url:"chuli.php",
type:"POST",
dataType:"text" ,
data:{pcode:pcode},
success: function(data)
{ //拆分返回的字符串,得到的行的数组
var hang=data.trim().split("|");
var str="";
for(var i=; i<hang.length;i++)
{
var lie= hang[i].split("^");
str=str+"<option value='"+lie[]+"'>"+lie[]+"</option>"; }
$("#qu").html(str);
}
}); }
</script>
</html>

处理页面

<?php
//接受父级代号
$pcode=$_POST["pcode"];
include ("../DBDA.class.php");
$db=new DBDA();
//根据父代号查询
$sql="select * from chinastates where parentareacode='{$pcode}'";
echo $db->StrQuery($sql);

封装类

<?php
class DBDA
{
public $host="localhost"; //服务器地址
public $uid="root"; //用户名
public $pwd=""; //密码 public $dbconnect; //连接对象 //操作数据库的方法
//$sql代表需要执行的SQL语句
//$type代表SQL语句的类型,1代表查询,2代表增删改
//$dbname代表要操作的数据库名称
//如果是查询,返回二维数组
//如果是增删改,返回true或false /*ajax text 返回类型*/
public function StrQuery($sql,$type=,$dbname="")
{
//造连接对象
$this->dbconnect= new MYSQLi($this->host,$this->uid,$this->pwd,$dbname);
if (!mysqli_connect_error())
{
//如果连接成功,执行sql语句
$result = $this->dbconnect->query($sql);
//根据语句判断
if($type==)
{
$attr=$result->fetch_all();
$str="";
//如果是查询语句返回字符串
for($i=;$i<count($attr);$i++)
{
for($j=;$j<count($attr[$i]);$j++)
{
$str = $str.$attr[$i][$j];
$str = $str."^";
}
$str = substr($str,,strlen($str)-);
$str = $str."|";
}
$str = substr($str,,strlen($str)-);
return $str;
}
else
{
//如果是其他语句,返回true或false
if($result){
return "OK";
}else{
return "NO";
}
}
}
else
{
return "连接失败";
}
}
}

ajax练习习题二三级联动的更多相关文章

  1. 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能

    使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下 ...

  2. 多级联动系列——ajax调用XML实现三级联动

    ajax 使用起来特别的方便,再也不操心浏览器兼容问题了.用ajax调用XML页面中的内容,来生成三级联动,OK废话不多说,跟着我一步步写吧. 首先写一个XML文件.data.xml <?xml ...

  3. 【2017-06-06】Ajax完整结构、三级联动的制作

    一.Ajax完整结构 $.ajax({ url:"Main.ashx", data:{}, dataType:"json", type:"post&q ...

  4. 用php+mysql+ajax+jquery做省市区三级联动

    要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用chinastates ...

  5. ajax加php实现三级联动

    js代码 <script type="text/javascript">    function get_next(t,pid){  //当前元素的id,当前optio ...

  6. Ajax做无刷新三级联动

    1.引入JS and Jquery包 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  7. 如何用jquery+ajax写省市区的三级联动?(封装和不封装两种方式)-----2017-05-14

    首先,要实现如下图效果, 1.要理清思路: 先做出三个下拉菜单----根据第一个下拉菜单的value值获取第二个下拉列表的内容,第三个同理. 2.用到的数据库表:Chinastates表 规律:根据国 ...

  8. ajax 城市区域选择三级联动

    <body onLoad="sheng()"><div class="xqbody">    <form action=" ...

  9. Ajax省市地区下拉列表三级联动

    SQL数据库表 --创建Province表 CREATE TABLE [dbo].[Province]( [Id] [int] NULL, [Name] [varchar](50) NULL, [or ...

随机推荐

  1. Careercup - Google面试题 - 5727310284062720

    2014-05-06 14:04 题目链接 原题: given an 2D matrix M, is filled either using X or O, you need to find the ...

  2. shell编程之数学运算

    shell数学运算支持整数运算的四种方法 1.let命令 no1=4; no2=5; let result=no1+no2 2.[]操作符 result=$[ no1 + no2] 3.(())操作符 ...

  3. CHtml::radioButtonList

    public function getSortList(){ $arr = array(); $arr[0]['id']=0; $arr[0]['name']="否"; $arr[ ...

  4. ubuntu 安装完成后的工作

    以安装 ubuntu 15.10 为例 1. 备份并更改源 cd /etc/apt sudo cp source.list source.list.bak sudo vi source.list 删除 ...

  5. maven 常用5个命令

    1. mvn help:describe 你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的. 参数: 1. -Dplu ...

  6. jQuery1.9.1--结构及$方法的工作原理源码分析

    jQuery的$方法使用起来非常的多样式,接口实在太灵活了,有点违反设计模式的原则职责单一.但是用户却非常喜欢这种方式,因为不用记那么多名称,我只要记住一个$就可以实现许多功能,这个$简直就像个万能的 ...

  7. UNITY_MATRIX_IT_MV[Matrix] (转载)

    转载 http://blog.csdn.net/cubesky/article/details/38682975 前面发了一篇关于unity Matrix的文章. http://blog.csdn.n ...

  8. *args和**kw魔法参数

    学Python挺久了,现在才搞懂这个还是有点惭愧 *args:传入元组,无关键字 **kw:传入字典,有关键字 示例: *args **kw 一起使用时args的参数需在前:

  9. https://google-developers.appspot.com/chart/

    https://google-developers.appspot.com/chart/

  10. POJ 2689 Prime Distance (素数筛选法,大区间筛选)

    题意:给出一个区间[L,U],找出区间里相邻的距离最近的两个素数和距离最远的两个素数. 用素数筛选法.所有小于U的数,如果是合数,必定是某个因子(2到sqrt(U)间的素数)的倍数.由于sqrt(U) ...