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 相关文章推荐
将OICQ数据转成MYSQL数据
Oct 09 PHP
PHP中Date获取时间不正确怎么办
Jun 05 PHP
php mssql 时间格式问题
Jan 13 PHP
php实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
Zend framework处理一个http请求的流程分析
Feb 08 PHP
php中函数的形参与实参的问题说明
Sep 01 PHP
PHP CLI模式下的多进程应用分析
Jun 03 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
使用PHP实现阻止用户上传成人照片或者裸照
Dec 25 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
php二维数组按某个键值排序的实例讲解
Feb 15 PHP
php设计模式之中介者模式分析【星际争霸游戏案例】
Mar 23 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
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
CI框架中类的自动加载问题分析
2016/11/21 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
JavaScript 学习 - 提高篇
2007/02/02 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
浏览器页面区域大小的js获取方法
2013/09/21 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
js校验表单后提交表单的三种方法总结
2014/02/28 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
AngularJS基础 ng-submit 指令简单示例
2016/08/03 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
vue移动端弹框组件的实例
2018/09/25 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
jQuery操作cookie的示例代码
2019/06/05 jQuery
vue组件入门知识全梳理
2020/09/21 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
Python lambda函数基本用法实例分析
2018/03/16 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
美国最大的烧烤架和户外生活用品专业零售商:Barbeques Galore
2021/01/09 全球购物
公积金转移接收函
2014/01/11 职场文书
初级会计求职信范文
2014/02/15 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
授权委托书(完整版)
2014/09/10 职场文书