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+MySQL 手工注入语句大全 推荐
Oct 30 PHP
php开发文档 会员收费1期
Aug 14 PHP
基于initPHP的框架介绍
Apr 18 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
Sep 06 PHP
php实现用于删除整个目录的递归函数
Mar 16 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 PHP
PHP数组函数array_multisort()用法实例分析
Apr 02 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
php封装的表单验证类完整实例
Oct 19 PHP
php workerman定时任务的实现代码
Dec 23 PHP
PHP终止脚本运行三种实现方法详解
Sep 01 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 simple_html_dom.php+正则 采集文章代码
2009/12/24 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
php array_key_exists() 与 isset() 的区别
2016/10/24 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
2017/05/05 PHP
javascript div 弹出可拖动窗口
2009/02/26 Javascript
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
JS实现transform实现扇子效果
2020/01/17 Javascript
jquery实现聊天机器人
2020/02/08 jQuery
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
python实现的重启关机程序实例
2014/08/21 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
python redis存入字典序列化存储教程
2020/07/16 Python
使用Python实现NBA球员数据查询小程序功能
2020/11/09 Python
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
2014/04/03 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
大专毕业生求职信
2014/07/05 职场文书
买房子个人收入证明
2014/10/12 职场文书
自查自纠整改报告
2014/11/06 职场文书
2015年保安个人工作总结
2015/04/02 职场文书
请客吃饭开场白
2015/06/01 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
2015秋季田径运动会广播稿
2015/08/19 职场文书
再读《皇帝的新衣》的读后感悟!
2019/08/07 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA