1. 程式人生 > >PHP實現二級聯動

PHP實現二級聯動

如何實現二級聯動

工作原理

二級聯動在開發中是比較常見的一個技術點,它主要運用了JS的區域性刷新技術ajax,不同於一般頁面全域性重新整理,它只會重新整理我們需要改變值的地方,我們首先看下它的工作流程。
第一步:我們會向後臺傳送一個請求
第二步:後臺接受請求後,會返回給我們一個值
第三步:將值用JS呈現在頁面中

HTML程式碼

<html>
<head>
<title>
二級聯動
</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資料
?>

這裡寫圖片描述

其實三級聯動和二級聯動的原理都是一樣的,只是在其基礎上在重複一次而已