<body>

<div id="zhuti"></div>

</body>
<script type="text/javascript">
$(document).ready(function(e) {
  //建主体框架,建立三个下拉菜单,分别显示省、市、区(县)
  var zhuti="<select id='sheng'></select><select id='shi'></select><select id='qu'></select>";

  //将主体内容显示在页面中
  $("#zhuti").html(zhuti);

  //填充省表单
  FillSheng();
  //填充市表单
  FillShi();
  //填充区(县)表单
  FillQu();

  //当选择省时,后两个菜单中只显示相对应的市、区(县)
  $("#sheng").change(function(){
  //填充市表单
  FillShi();
  //填充区(县)表单
  FillQu();
  })
  //当市被选中时,后一个菜单中只显示相对应的区(县)
  $("#shi").change(function(){
  //填充区(县)表单
  FillQu();
  })
});

//填充省的方法
function FillSheng()
{
  //需要用到省的父级代号
  var pcode="0001";
  //调用AJAX方法
  $.ajax({
    async:false, //关闭异步执行,开启同步执行,默认为true,开启异步执行
    url:"cxchuli.php", //引用处理页面
    data:{pcode:pcode}, //传递值
    type:"POST", //传值方式
    dataType:"TEXT", //返回数据格式
    success: function(data){
      //对返回的字符串进行去空格拆分,得到一个行的数组
      var hang=data.trim().split("|");
      //初始化变量为空
      var str="";
      //对数组进行循环遍历
      for(var i=0;i<hang.length;i++)
      {
        //对每行的数据进行去空格拆分,得到一个列的数组
        var lie= hang[i].trim().split("^");
        //将数据进行拼接存入变量中
        str=str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
      }
      //将得到的数据放到省级下拉菜单中显示
      $("#sheng").html(str);
    }
  })
}

填充市的方法

function FillShi()
{
  var pcode=$("#sheng").val();
  $.ajax({
    async:false, //关闭异步执行,开启同步执行
    url:"cxchuli.php", //引用处理页面
    data:{pcode:pcode}, //传递值
    type:"POST", //传值方式
    dataType:"TEXT", //返回数据格式
    success: function(data){
      //对返回的字符串进行去空格拆分,得到一个行的数组
      var hang=data.trim().split("|");
      //初始化变量为空
      var str="";
      //对数组进行循环遍历
      for(var i=0;i<hang.length;i++)
      {
        //对每行的数据进行去空格拆分,得到一个列的数组
        var lie= hang[i].trim().split("^");
        //将数据进行拼接存入变量中
        str=str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
      }
      //将得到的数据,放入市级下拉菜单中显示
      $("#shi").html(str);
    }
  })
}

//填充区(县)的方法
function FillQu()
{
  //需要用到区(县)的父级代号
  var pcode=$("#shi").val();

  //调用AJAX方法
  $.ajax({
    async:false, //关闭异步执行,开启同步执行
    url:"cxchuli.php", //引用处理页面
    data:{pcode:pcode}, //传递值
    type:"POST", //传值方式
    dataType:"TEXT", //返回数据格式
    success: function(data){
      //对返回的字符串进行去空格拆分,得到一个行的数组
      var hang=data.trim().split("|");
      //初始化变量为空
      var str="";
      //对数组进行循环遍历
      for(var i=0;i<hang.length;i++)
      {
        //对每行的数据进行去空格拆分,得到一个列的数组
        var lie= hang[i].trim().split("^");
        //将数据进行拼接存入变量中
        str=str+"<option value='"+lie[0]+"'>"+lie[1]+"</option>";
      }
      //将得到的数据放到区(县)级下拉菜单中显示
      $("#qu").html(str);
    }
  })
}

</script>

三级联动(ajax)的更多相关文章

  1. ajax省市区三级联动

    jdbc+servlet+ajax开发省市区三级联动 技术点:jdbc操作数据库,ajax提交,字符拦截器,三级联动 特点:局部刷新达到省市区三级联动,举一反三可以做商品分类等 宗旨:从实战中学习 博 ...

  2. AJAX 三级联动

    新的封装类 <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root"; ...

  3. AJAX部分---对比js做日期的下拉选择 和 ajax做三级联动;

    js做日期选择: 实现当前年份的前5后5年的日期选择 实现功能:年份和月份页面加载完成使用JS循环添加,天数根据月份的变化动态添加改变 扩展功能:天数可以根据闰年平年变化 <body> & ...

  4. 完整的Ajax及三级联动小练习

    Ajax结构: var name = $("#text_1").val(); $.ajax({ url: "Ashxs/Handler.ashx",//一般处理 ...

  5. Ajax案例:三级联动查询员工的信息(三张表进行内连接)

    需求分析: 通过数据库连接池,可以查询到数据库中员工的各种信息,通过点击下拉框的方式实现三级联动,即:没有点击city下拉框,后面两个下拉框中没有值,这样,点击city下拉框,department下拉 ...

  6. ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动

    一.ajax验证表单元素规范正确与否 以用ajax来验证用户名是否被占用为例 1创建表单元素<input type="text" id="t"> 2 ...

  7. 基于ThinkPHP+AJAX的省市区三级联动

    练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...

  8. Ajax实现三级联动(0520)

    查询数据库中的chinastates表,通过父级代号查询相应省市区. 实现界面: 在js页面实现三级联动 在JQuery中调用Ajax方法(引用JQuery文件一定放在最上面) 用插件的形式,创建三个 ...

  9. 移动端纯原生JS不依赖ajax后台服务器实现省市县三级联动

    最近好多天没有更新文章,是因为公司的项目忙的不行.今天有点时间,就突然想起在移动端项目中遇到三级联动的问题,网上查了很多资料,都是依赖各种插件,或者晦涩难于理解.于是,自己决定写一个出来. 当然,没有 ...

  10. php+ajax的三级联动下拉菜单

    封装一个三级联动,就可以在任何页面进行引用了 先写个页面引用一下这个js <head> <meta http-equiv="Content-Type" conte ...

随机推荐

  1. DPDK中断机制简析

    DPDK通过在线程中使用epoll模型,监听UIO设备的事件,来模拟操作系统的中断处理. 一.中断初始化 在rte_eal_intr_init()函数中初始化中断.具体如下: 1.首先初始化intr_ ...

  2. DoNet屌丝学Android(一)——Android开发准备工作 & No HelloWord & (真机)调试

    先乱扯淡一下吧,本人一.net屌丝,手持Android 4.2.2手机,Win7 x64本本,闲来无聊学习一下Android的开发,至于要开发啥玩意目前没有什么想法,就是想学学,搞不好是三分热度也有可 ...

  3. foreach 和 list.foreach 初步测试

    单纯从速度上讲 小数据量下foreach 较快,list.Foreach 由于 public void ForEach(Action<T> action) { ; i <this._ ...

  4. mariadb日志学习笔记

    MySQL日志: 查询日志:query log 慢查询日志: 查询执行时长超过指定时长的查询操作所记录的日志 slow query log 错误日志:包含了服务器启动和关闭的正常信息 二进制日志:包含 ...

  5. centos下安装php环境

    centos下安装php环境 安装apache yum install httpd-devel 启动apache /etc/init.d/httpd start 安装mysql yum install ...

  6. javascript回车完美实现tab切换功能

    javascript通过回车实现tab切换功能,最经有一个项目是给化工厂做的在使用的过程中需要输入大量的数据,使用的都是小键盘区,在以前都是通过excel录入数据的现在, 在网页上需要实现excel ...

  7. Qt使用默认浏览器打开网页

    #include <QDesktopServices> #include <QUrl> QDesktopServices::openUrl(QUrl("http:// ...

  8. AsyncTask的简单使用

    package com.zzw.life; import android.app.Activity; import android.os.AsyncTask; import android.os.Bu ...

  9. WIN7 shutdown 定时/倒计时 命令关机

    解决方案: 一.可以通过DOS命令shutdown来解决 在 Win7 中,shutdown实现自动关机的方法如下: 开始->运行->cmd 运行"shutdown -s -t ...

  10. java中的接口回调

    [接口回调]接口回调是多态的另一种体现.接口回调是指:可以把使用某一个接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类实现的接口中的方法.当接口变量调用被类实现的接口中 ...