Ajaxで指定した変数の値をjsonファイルから取得する

html&jquery

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
	<!-- <link rel="stylesheet" type="text/css" href="styles.css"> -->
</head>
<body>
  <select id="sel">
      <option> --場所を選ぶ-- </option>
      <option value="kyoto">京都</option>
      <option value="osaka">大阪</option>
      <option value="kobe">神戸</option>
  </select>

  <div id="mes">
    集合場所は<span id="pos"></span>
    集合時刻は<span id="time"></span>
  </div>
	<script
  src="https://code.jquery.com/jquery-3.6.0.min.js"
  integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
  crossorigin="anonymous"></script>
  	<script>
      let optval;
      $(function(){
        $('#sel').on("change",function(){
            optval = $(this).val();
            $.post({
               url: 'ajax_getData.php',
               data: {
                  'opt': optval
               },
               dataType: 'json',
            }).done(function(data){
              $("#pos").text(data.position);
              $("#time").text(data.ap_time);
            }).fail(function(XMLHttpRequest, textStatus, errorThrown){
              alert(errorThrown);
            })
        })
      })
  	</script>
</body>
</html>

ajax_getData.php

header("Content-Type: application/json; charset=UTF-8");
$ary_sel_obj = [];
$opt = filter_input(INPUT_POST, "opt");

$ary_lists = [
	"kyoto" => [
		"position" => "三条",
		"ap_time" => "12:00",
	],
	"osaka" => [
		"position" => "難波",
		"ap_time" => "12:30",
	],
	"kobe" => [
		"position" => "西宮",
		"ap_time" => "13:00",
	],
];

if(isset($ary_lists)) $ary_sel_obj = $ary_lists[$opt];
echo json_encode($ary_sel_obj);
exit;

jsonデータが変わった時の処理としては、js側でデータを保持しておいて、jsonデータが変わったら、値を変えれば良さそう
うん、ある程度イメージは出来てきたかな🥰