PHP+ajax实现二级联动菜单功能示例


Posted in PHP onAugust 10, 2018

本文实例讲述了PHP+ajax实现二级联动菜单功能。分享给大家供大家参考,具体如下:

如何实现二级联动

工作原理

二级联动在开发中是比较常见的一个技术点,它主要运用了JS的局部刷新技术ajax,不同于一般页面全局刷新,它只会刷新我们需要改变值的地方,我们首先看下它的工作流程。

  • 第一步:我们会向后台发送一个请求
  • 第二步:后台接受请求后,会返回给我们一个值
  • 第三步:将值用JS呈现在页面中

HTML代码

<html>
<head>
<title>3water.com 二级联动</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf8">
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<style>
#area-box{width:500px;height:400px;margin:0 auto;border:0px solid #dddddd;text-align:center;}
.area-select{width:200px;height:30px;margin-top:30px;margin-left:30px;}
</style>
<head>
<body>
  <div id="area-box">
    <select class="area-select" id='address'>
      <option value="0">请选择省份</option>
      <option value="1">四川</option>
      <option value="2">河北</option>
      <option value="3">湖南</option>
    </select>
    <select class="area-select" id="city">
      <option>请选择城市</option>
    </select>
  </div>
  <script>
  $(function(){
    //初始化数据
    var url = 'address.php'; //后台地址
    $("#address").change(function(){ //监听下拉列表的change事件
      var address = $(this).val(); //获取下拉列表选中的值
      //发送一个post请求
      $.ajax({
        type:'post',
        url:url,
        data:{key:address},
        dataType:'json',
        success:function(data){ //请求成功回调函数
          var status = data.status; //获取返回值
          var address = data.data;
          if(status == 200){ //判断状态码,200为成功
            var option = '';
            for(var i=0;i<address.length;i++){ //循环获取返回值,并组装成html代码
              option +='<option>'+address[i]+'</option>';
            }
          }else{
            var option = '<option>请选择城市</option>'; //默认值
          }
          $("#city").html(option); //js刷新第二个下拉框的值
        },
      });
    });
  });
  </script>
</body>

PHP代码

<?php
  $key = $_POST['key']; //获取值
  $address[1] = array('成都','绵阳','德阳');
  $address[2] = array('石家庄','唐山','秦皇岛');
  $address[3] = array('长沙','株洲','湘潭');
  if(!empty($address[$key])){ //有值,组装数据
    $result['status'] = 200;
    $result['data'] = $address[$key];
  }else{ //无值,返回状态码220
    $result['status'] = 220;
  }
  echo json_encode($result); //返回JSON数据
?>

运行效果:

PHP+ajax实现二级联动菜单功能示例

其实三级联动和二级联动的原理都是一样的,只是在其基础上在重复一次而已

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(6)
Oct 09 PHP
php抓即时股票信息
Oct 09 PHP
PHP中的cookie
Nov 26 PHP
PHP的password_hash()使用实例
Mar 17 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
php获取字符串中各个字符出现次数的方法
Feb 23 PHP
php导出中文内容excel文件类实例
Jul 06 PHP
PHP中关键字interface和implements详解
Jun 14 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 PHP
thinkphp5框架结合mysql实现微信登录和自定义分享链接与图文功能示例
Aug 13 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
Aug 10 #PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 #PHP
PHP检查端口是否可以被绑定的方法示例
Aug 09 #PHP
php对象工厂类完整示例
Aug 09 #PHP
php闭包中使用use声明变量的作用域实例分析
Aug 09 #PHP
php生成二维码不保存服务器还有下载功能的实现代码
Aug 09 #PHP
PHP命令Command模式用法实例分析
Aug 08 #PHP
You might like
用户的详细注册和判断
2006/10/09 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
PHP面向对象程序设计之对象生成方法详解
2016/12/02 PHP
thinkPHP+LayUI 流加载实现功能
2019/09/27 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
解析javascript 实用函数的使用详解
2013/05/10 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
浅述节点的创建及常见功能的实现
2016/12/15 Javascript
JS实现的样式切换功能tableCSS实例
2016/12/30 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
利用python写个下载teahour音频的小脚本
2017/05/08 Python
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
会计自我鉴定范文
2013/10/06 职场文书
《灰椋鸟》教学反思
2014/04/27 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
2014企业年终工作总结
2014/12/23 职场文书
汽车车尾标语大全
2015/08/11 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
Python利器openpyxl之操作excel表格
2021/04/17 Python
详解Python类和对象内容
2021/06/22 Python
Mysql中常用的join连接方式
2022/05/11 MySQL