ajax的三级联动下拉菜单实现(附代码)

这次给大家带来ajax的三级联动下拉菜单实现(附代码),实现ajax三级联动下拉菜单的注意事项有哪些,下面就是实战案例,一起来看一下。

ajax写三级联动,先写一个文件类吧,以后用的时候直接调用即可;

来找一张表:

ajax的三级联动下拉菜单实现(附代码)

实现:

中国地域的三级联动:省、市、区;

图:

ajax的三级联动下拉菜单实现(附代码)

说一下思路:

(1)当用户选择省份的时候触发事件,把当前的省份的id通过ajax发出请求传递到服务端的程序中

(2)比如取中国地域,中国是0001,那么自带号为0001的便是中国地域;

北京的代号为11,那么子代号为11的便是北京时的市区,

也就是说根据主代号查询子代号;

(3)服务端根据客户端的请求,查询数据库,并按照一定的格式返回给客户端

显示页面非常简单,只需要一个p,并引入js与jquery文件即可:

    无标题文档    

三级联动

登录后复制

我需要三个下拉框select,并赋予id写方法

先来写三个下拉框附上id,并执行三个方法:

$(document).ready(function(e){  //三个下拉列表  //加载显示数据  $("#sanji").html("");  //加载省份  FillSheng();  //加载市  FillShi();  //加载区  FillQu();}

登录后复制

接下来去写方法;

三个菜单是联动的,也就是根据省的不同可以有不同的选项

这里就不要用click()点击事件了;用改变状态时执行的改变事件change()

(1)当省份发生变化的时候:

 //当省份发生变化  $("#sheng").change(function(){    FillShi();    FillQu();  })

登录后复制

市区,区县发生改变

(2)当市区发生变化:

//当市发生改变  $("#shi").change(function(){    FillQu();  })});

登录后复制

区县发生变化;

这个逻辑没毛病;

再来就是把省份的信息加载粗来,并在写完ajax的遍历结束时,值写入市的下拉菜单:

//加载省份信息function FillSheng(){  //根据父级代号  //取父级代号  var pcode = "0001";  //根据父级代号查数据  $.ajax({    async:false,    url:"cl.php",    data:{pcode:pcode},    type:"POST",    dataType:"JSON",    success:function(data){  var str = "";  for(var sj in data)  {    str = str+""+data[sj].AreaName+"";  }  $("#sheng").html(str);}  });}//加载市function FillShi(){  //根据父级代号  //取父级代号  var pcode = $("#sheng").val();  //根据父级代号查数据  $.ajax({    async:false,    //取消异步    url:"cl.php",    data:{pcode:pcode},    type:"POST",    dataType:"JSON",  success:function(data){  var str = "";  for(var sj in data)  {    str = str+""+data[sj].AreaName+"";  }  $("#shi").html(str);}});}//加载区function FillQu(){  //根据父级代号  //取父级代号  var pcode = $("#shi").val();  //根据父级代号查数据  $.ajax({    url:"cl.php",    data:{pcode:pcode},  type:"POST",    dataType:"JSON",  success:function(data){  var str = "";  for(var sj in data)  {    str = str+""+data[sj].AreaName+"";  }  $("#qu").html(str);}});}

登录后复制

这里的格式用的是JSON 之前都是用”TEXT”

注:JSON

JSON是一种传递对象的语法,对象可以是name/value对,数组和其他对象

我们用到的是数组,那么我们就需要遍历数组,取到每一条数据,在js中遍历数组用到的是

for(var sj in data)

{

}

来遍历数组。格式!!!

这里来写上面说的那个文件封装类,找到我们以前我们的连接数据库的类:

加上这段:

public function jsonQuery($sql,$type=1)  {    $db = new mysqli($this->host,$this->zhang,$this->mi,$this->dbname);    $r = $db->query($sql);    if($type == "1")    {      $arr = $r->fetch_all(MYSQLI_ASSOC);      return json_encode($arr);//去掉最后竖线    }    else    {      return $r;    }  }}

登录后复制

嗯,没错

处理页面:

最后来说处理页面:

jsonQuery($sql);

登录后复制

连上数据库,对象调用类,写完sql语句直接返回就欧克!!!

就是这么短!

效果图:

ajax的三级联动下拉菜单实现(附代码)

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

怎么使用fileinput来实现ajax异步上传

Ajax实现数据库修改和添加功能详细步骤

以上就是ajax的三级联动下拉菜单实现(附代码)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2776438.html

(0)
上一篇 2025年3月8日 14:51:27
下一篇 2025年3月8日 14:51:34

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • ajax三级联动图文详解(附代码)

    这次给大家带来ajax三级联动图文详解(附代码),ajax实现三级联动的注意事项有哪些,下面就是实战案例,一起来看一下。 ajax 实现三级联动,相当于写了一个小插件,用的时候直接拿过来用就可以了,这里我用了数据库中的chinastates…

    2025年3月8日
    000
  • Ajax删除数据与查看数据操作的步奏详解

    这次给大家带来Ajax删除数据与查看数据操作的步奏详解,Ajax删除数据与查看数据操作的注意事项有哪些,下面就是实战案例,一起来看一下。 1.数据库找一张表: 颜色表 2.主页面 主页面的代码用到tbody; TBODY作用是: 可以控制表…

    2025年3月8日 编程技术
    200
  • Ajax的基础与登入步奏详解

    这次给大家带来Ajax的基础与登入步奏详解,Ajax的基础与登入注意事项有哪些,下面就是实战案例,一起来看一下。 Ajax 是 Asynchronous JavaScript and XML的缩写。 Ajax的优点: 优点:减轻服务器的负担…

    2025年3月8日 编程技术
    200
  • 怎样用ajax实现弹窗登录

    这次给大家带来怎样用ajax实现弹窗登录,用ajax实现弹窗登录的注意事项有哪些,下面就是实战案例,一起来看一下。 下面介绍如何实现AJAX弹窗登录。 在ECSHOP中的user.PHP中有处理用户登录的请求。 /* 处理 ajax 的登录…

    编程技术 2025年3月8日
    200
  • 怎么用ajax操作页面加载和内容删除

    这次给大家带来怎么用ajax操作页面加载和内容删除,用ajax操作页面加载和内容删除的注意事项有哪些,下面就是实战案例,一起来看一下。 ajax最大的好处就在于加载和删除的时候不会跳转页面,现在的网页大多都会选择用ajax来写,相比嵌入PH…

    2025年3月8日
    200
  • ajax实现登录功能的图文详解

    这次给大家带来ajax实现登录功能的图文详解,ajax实现登录功能的注意事项有哪些,下面就是实战案例,一起来看一下。 AJAX的全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)…

    2025年3月8日
    200
  • Ajax交互时被报status=parsererror错误如何解决

    这次给大家带来Ajax交互时被报status=parsererror错误如何解决,解决Ajax交互时报status=parsererror错误的注意事项有哪些,下面就是实战案例,一起来看一下。 原因:servlet 返回的数据不是 Json…

    编程技术 2025年3月8日
    200
  • Ajax校验数据有没有重复

    这次给大家带来Ajax校验数据有没有重复,Ajax校验数据有没有重复的注意事项有哪些,下面就是实战案例,一起来看一下。 一、controller层: @ResponseBody @RequestMapping(“entityFindByCo…

    编程技术 2025年3月8日
    200
  • 前端与后端有哪几种ajax交互方法

    这次给大家带来前端与后端有哪几种ajax交互方法,前端与后端的ajax交互注意事项有哪些,下面就是实战案例,一起来看一下。 前端ajax与后端Spring MVC控制器有以下五种数据交互方式。(前台使用了dhtmlxGrid,后端使用了fa…

    编程技术 2025年3月8日
    200
  • Ajax中post方法返回时候报错问题详解

    这次给大家带来Ajax中post方法返回时候报错问题详解,处理Ajax中post方法返回时候报错的注意事项有哪些,下面就是实战案例,一起来看一下。 这是Node.js服务器 $(“.reg_code_btn”).click(function…

    2025年3月8日
    200

发表回复

登录后才能评论