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的面向对象编程
Oct 09 PHP
一个简单计数器的源代码
Oct 09 PHP
用PHP和ACCESS写聊天室(九)
Oct 09 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
Feb 28 PHP
如何设置mysql允许外网访问
Jun 04 PHP
浅析PHP 按位与或 (^ 、&amp;)
Jun 21 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
php二维数组转成字符串示例
Feb 17 PHP
PHP获取youku视频真实flv文件地址的方法
Dec 23 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
php生成0~1随机小数的方法(必看)
Apr 05 PHP
php反射学习之不用new方法实例化类操作示例
Jun 14 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 求质素(素数) 的实现代码
2011/04/12 PHP
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
AngularJS内置指令
2015/02/04 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
JS实现太极旋转思路分析
2016/12/09 Javascript
js获取ip和地区
2017/03/10 Javascript
vue中appear的用法
2017/08/17 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
AngularJS实现的简单拖拽功能示例
2018/01/02 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
Python设计模式之命令模式简单示例
2018/01/10 Python
Python中协程用法代码详解
2018/02/10 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
python数组循环处理方法
2019/08/26 Python
详解anaconda离线安装pytorchGPU版
2020/09/08 Python
Python模拟登录和登录跳转的参考示例
2020/10/30 Python
Django URL参数Template反向解析
2020/11/24 Python
秋季婚礼证婚词
2014/01/11 职场文书
文化活动实施方案
2014/03/28 职场文书
教师考核评语大全
2014/12/31 职场文书
食堂管理制度范本
2015/08/04 职场文书
php引用传递
2021/04/01 PHP
Python机器学习之基础概述
2021/05/19 Python
Python 文字识别
2022/05/11 Python
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android