• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > jQuery ajax实现省市县三级联动

jQuery ajax实现省市县三级联动

作者:小艾—21克的爱 字体:[增加 减小] 来源:互联网

小艾—21克的爱 通过本文主要向大家介绍了ajax,三级联动等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

下面我们用Jquery,ajax,做一个省,市,县的三级联动:

下面是我做三级联动下拉的步骤以及逻辑

第一步:先做一个省市区表格
第二步:建个PHP页面显示用我是在<body>里放<div>用来接收要显示的省市区表格信息,里面嵌入jquery-1.11.2.min.js和自己封装的三联动省市区的方法
第三步:写封装方法用JS
第四步:做个纯php处理页面,这个页面处理传过来的任何代号

首先我们要建立数据库:

这就是包含省,市,县的数据库。

下面我们就写主页面:sanji.php:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Document</title>
  <script src="jquery-1.11.2.min.js"></script>
  <script src="sanjiliandong.js"></script>
</head>
<body>
  <div id="sanjiliandong">
    <!--在这里使用三级联动插件-->
  </div>
</body>
</html>

然后就是js文件:

// JavaScript Document
$(document).ready(function(e){
  //向div里面仍三个下拉
   var str = "<select id='sheng'></select><select id='shi'></select><select id='qu'></select>";
  $("#sanjiliandong").html(str);//三个下拉显示
       
   
  //当省选中的话市也会跟着变去也会变。市和区都会加载一遍
  FillSheng();//省
  FillShi();//市
  FillQu();//区
  //给省加点击事件
  $("#sheng").change(function(){
      FillShi();//市
      FillQu();//区
    })
  //给市加点击事件
  $("#shi").change(function(){
      FillQu();//区
    })
});
//做三个方法分别为省市区
//填充省的方法,如何在表里查询 出省的代号例如:北京0001、天津0001,中国下面所有省都是0001开头的
function FillSheng()
{
  var pcode = "0001";
  $.ajax({
    async:false,
    url:"chuli.php",
    data:{pcode:pcode},
    type:"POST",
    dataType:"TEXT",
    success: function(data){
      //返回数据,根据行于行之间的分隔符来拆,拆完之后会返回一数组/行的数组
      var hang = data.split("|");
      
      var str = "<option value='' >请选择地区</option>";
      //把行的数组遍历下用for循环...length长度
      for(var i=0;i<hang.length;i++)
      {
        //把行的索引i在拆下.列与列的分隔符再拆
        var lie = hang[i].split("^");//这是列的数组
        str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";
        
        $("#sheng").html(str);
      }
    }
  });
}
//填充市的方法
function FillShi()
{
  var pcode = $("#sheng").val();
  $.ajax({
    async:false,//****
    url:"chuli.php",
    data:{pcode:pcode},
    type:"POST",
    dataType:"TEXT",
    success: function(data){
      //返回数据,根据行于行之间的分隔符来拆,拆完之后会返回一数组/行的数组
      var hang = data.split("|");
      
      var str = "<option value='' >请选择城市</option>";
      //把行的数组遍历下用for循环...length长度
      for(var i=0;i<hang.length;i++)
      {
        //把行的索引i在拆下.列与列的分隔符再拆
        var lie = hang[i].split("^");//这是列的数组
        str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";
      }
      $("#shi").html(str);
    }
  });
}
//填充区的方法
function FillQu()
{
  var pcode = $("#shi").val();
  $.ajax({
    async:false,
    url:"chuli.php",
    data:{pcode:pcode},
    type:"POST",
    dataType:"TEXT",
    success: function(data){
      //返回数据,根据行于行之间的分隔符来拆,拆完之后会返回一数组/行的数组
      var hang = data.split("|");
      
      var str = "<option value='' >请选择乡县</option>";
      //把行的数组遍历下用for循环...length长度
      for(var i=0;i<hang.length;i++)
      {
        //把行的索引i在拆下.列与列的分隔符再拆
        var lie = hang[i].split("^");//这是列的数组
        str += "<option value='"+lie[0]+"'>"+lie[1]+"</option>";
        
        $("#qu").html(str);
      }
    }
  });
}

之后是查询数据库的处理文件:

<?php
 //处理页面只有一个功能处理传过来的所有代号(省、市、区。。。)
 include("DBDA.class.php");
 $db = new DBDA();
 $pcode = $_POST["pcode"];//取到赋值代号
 $sql = "select * from chinastates where parentareacode='{$pcode}'";
echo $db->StrQuery($sql);

显示效果如下:

这就是我们要做的省,市,县的三级联动。在这里我们重点强调一下一定要做好逻辑关系,想好了在去动手写代码,要不然容易混乱,这样的话就只能从头开始。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于Jquery Ajax type的4种类型(详解)
  • jQuery.Ajax()的data参数类型详解
  • jQuery之动画ajax事件(实例讲解)
  • 详解jQuery中关于Ajax的几个常用的函数
  • 用户管理的设计_jquery的ajax实现二级联动效果
  • jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
  • 浅谈jQuery框架Ajax常用选项
  • jQuery+ajax实现修改密码验证功能实例详解
  • jQuery使用ajax_动力节点Java学院整理
  • 关于jQuery.ajax()的jsonp碰上post详解

相关文章

  • 实用的Jquery选项卡TAB示例代码
  • jQuery往返城市和日期查询实例讲解
  • jquery中获取元素里某一特定子元素的代码
  • jQuery实现径向动画菜单效果
  • JQuery移动页面开发之屏幕方向改变与滚屏的实现
  • Jquery 自定义动画概述及示例
  • jQuery中$this和$(this)的区别介绍(一看就懂)
  • jQuery输入框密码的显示隐藏【代码分享】
  • 自己动手实现jQuery Callbacks完整功能代码详解
  • jQuery中常用动画效果函数(日常整理)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jQuery入门知识简介
    • jquery focus(fn),blur(fn)方法实例代码
    • jQuery源码中的chunker 正则过滤符分析
    • jQuery加密密码到cookie的实现代码
    • JQuery为页面Dom元素绑定事件及解除绑定方法
    • jQuery中animate动画第二次点击事件没反应
    • jQuery使用动态渲染表单功能完成ajax文件下载
    • jquery解析xml字符串简单示例
    • jQuery实现单行文字间歇向上滚动源代码
    • jQuery实现的右下角广告窗体跟随效果示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有