Home >Backend Development >PHP Problem >How to implement secondary linkage menu in php

How to implement secondary linkage menu in php

藏色散人
藏色散人Original
2021-03-26 09:56:562925browse

php method to implement secondary linkage menu: first create HTML files and PHP files; then write front-end code and back-end logic code; then send a request to the background; finally, use JS to present the value on the page That’s it.

How to implement secondary linkage menu in php

The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer

PHP ajax implementation example of secondary linkage menu function

How to implement secondary linkage

Working principle

Second-level linkage is relatively common in development A technical point, it mainly uses JS's local refresh technology ajax. Different from the general page global refresh, it will only refresh the places where we need to change the value. Let's first take a look at its workflow.

  • Step 1: We will send a request to the background
  • Step 2: After the background accepts the request, it will return a value to us
  • Step 3 : Use JS to present the value in the page

##HTML code

<html>
<head>
<title>www.jb51.net 二级联动</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>
  <p id="area-box">
    <select class="area-select" id=&#39;address&#39;>
      <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>
  </p>
  <script>
  $(function(){
    //初始化数据
    var url = &#39;address.php&#39;; //后台地址
    $("#address").change(function(){ //监听下拉列表的change事件
      var address = $(this).val(); //获取下拉列表选中的值
      //发送一个post请求
      $.ajax({
        type:&#39;post&#39;,
        url:url,
        data:{key:address},
        dataType:&#39;json&#39;,
        success:function(data){ //请求成功回调函数
          var status = data.status; //获取返回值
          var address = data.data;
          if(status == 200){ //判断状态码,200为成功
            var option = &#39;&#39;;
            for(var i=0;i<address.length;i++){ //循环获取返回值,并组装成html代码
              option +=&#39;<option>&#39;+address[i]+&#39;</option>&#39;;
            }
          }else{
            var option = &#39;<option>请选择城市</option>&#39;; //默认值
          }
          $("#city").html(option); //js刷新第二个下拉框的值
        },
      });
    });
  });
  </script>
</body>

[Recommended learning:

PHP video tutorial]

PHP code

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

Operation effect:

In fact, the principles of third-level linkage and second-level linkage are the same , just repeat it once on the basis of it

The above is the detailed content of How to implement secondary linkage menu in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn