zoukankan      html  css  js  c++  java
  • PHP语言 -- 三级联动

    AreaCode  AreaName ParentAreaCode

    <script src="jquery-1.11.2.min.js"></script>
    <script src="sanji.js"></script>
    <body> <h1>三级联动</h1> <div id="sanji"></div> </body>

    sanji.js

    Ajax的同步,同步就是指在AJAX处理数据的时候,必须等到处理完成才能执行的语句,

    Ajax的异步,异步就是指在AJAX处理数据的时候,不用等到处理完,下面的语句就可以执行

    非Ajax 

    同步在交换信息的时候,必须等到对方确认接收之后在发送下一条

    异步在交换信息的时候,只管向对方发送,不用管对方有没有答复

    线程上

    同步相当于单线程处理一个请求

    异步相当于多线程同时处理多个请求

    $(document).ready(function(e){
    
    //在DIV里面早三个下拉
    $("#sanji").html("<select id='sheng'></select><select id='shi'></select><select id='qu'></select>");
    
    //填充数据
    FillSheng(); //填充省的数据
    FillShi(); //填充市的数据
    FillQu(); //填充区的数据
    
    //填充省的方法
    function FillSheng()
    {
    var code ="0001"; //省的父级代号
    
    //调用AJAX查询省的数据
    $.ajax({
    async:false, //将异步AJAX变成同步AJAX url:
    "chuli.php", data:{code:code}, type:"POST", datatype:"TEXT", success:function(){ //拆分字符串,返回行的数组
    var hang = data.split("|");

    var str="";
    for(var i=0;i<hang.lenght;i++)
    {
    var lie = hang[i].split("^");

    str+="<option value='"+lie[0]+"'>"+lie[1]+"</option>";
    }
    //将所有的option放到省下拉列表里面
    $("#sheng").html(str);
    }

    });
    }


    function FillShi()
    {
    var code =$("#sheng").val(); //市的父级代号
    
    //调用AJAX查询省的数据
    $.ajax({

    async:false, url:"chuli.php", data:{code:code}, type:"POST", datatype:"TEXT", success:function(){ //拆分字符串,返回行的数组
    var hang = data.split("|");

    var str="";
    for(var i=0;i<hang.lenght;i++)
    {
    var lie = hang[i].split("^");

    str+="<option value='"+lie[0]+"'>"+lie[1]+"</option>";
    }
    //将所有的option放到市下拉列表里面
    $("#shi").html(str);
    }

    });

    }


    function Fillqu()
    {
    
    
    var code =$("#shi").val(); //区的父级代号
    
    //调用AJAX查询省的数据
    $.ajax({

    async:false, url:"chuli.php", data:{code:code}, type:"POST", datatype:"TEXT", success:function(){ //拆分字符串,返回行的数组
    var hang = data.split("|");

    var str="";
    for(var i=0;i<hang.lenght;i++)
    {
    var lie = hang[i].split("^");

    str+="<option value='"+lie[0]+"'>"+lie[1]+"</option>";
    }
    //将所有的option放到市下拉列表里面
    $("#qu").html(str);
    }

    });
    
    
    }

    //当省的选中发生变化的时候,去改变市和区
    $("#sheng").change(function(){
    FillShi();
    FillQu();
    })
    //当市的选中发生变化的时候去改变区
    $("#shi").change(function(){
    FillQu();
    })
    });

    chuli.php

    <?php
    
    include "DBDA.php";
    
    $db = new DBDA();
    
    $pcode = $_POST["code"];
    
    $sql = "select AreaCode,AreaName from ChinaStates where ParentAreaCode = '{$pcode}'";
    
    echo $db->StrQuery($sql);
  • 相关阅读:
    .Net里的Attribute 学习
    浅谈并发与并行(一)
    Asp.net Mvc4默认权限详细(下)
    Enum是如何用的?
    指针与引用
    栈与队列
    mini2440裸机之I2C
    解决Delphi MDI 闪烁问题(使用WM_SETREDRAW锁屏后进行处理)
    DelphiXE 显示GIF动画
    参数传递方法(Delphi1.0与win16API使用pascal方法,即从左到右)
  • 原文地址:https://www.cnblogs.com/yifangtongxing/p/5434473.html
Copyright © 2011-2022 走看看