首页 > 解决方案 > 将变量从 PHP 回显到 JavaScript 并根据另一个字段更改一个字段

问题描述

我正在开发一个基于航空的网站,我在我的网站上运行的一个名为 SimBrief 的引擎必须包含以下代码,以便我可以将规格与飞机和注册一起发送。

<script>
var acdata = {};
acdata["reg":"YU-APA"]=['{icao":"A319","name":"A319-132","engines":"V2527\/A5","cat":"M","equip":"SDE2E3GHILORVWY","transponder":"H","pbn":"PBN\/B1D2D3","maxpax":"144","oew":92.48391898655717,"mzfw":128.9704233781548,"mtow":149.9143382857184,"mlw":137.78891386555,"maxfuel":42.086245851093594}'];
acdata["reg":"YU-APH"]=['{icao":"A320","name":"A320-232","engines":"V2527\/A5","cat":"M","equip":"SDE2E3GHILORVWY","transponder":"H","pbn":"PBN\/B1D2D3","maxpax":"174","oew":95.98926895529675,"mzfw":134.4819799327768,"mtow":162.0397627058868,"mlw":142.1981591092476,"maxfuel":42.086245851093594}']; 
</script>

其中 YU-APA 是空客 A319,YU-APH 是空客 A320。

<tr>
  <td>Aircraft:</td>
  <td>
    <select class="form-control" name="type" id="Aircraft" value="<?php echo "{$schedule->aircraft}"; ?>">                                                 
      <?php
      $equipment = OperationsData::getAllAircraftSingle(true);
      if(!$equipment) $equipment = array();
      foreach($equipment as $equip){
        echo '<option value="'.$equip->icao.'">'.$equip->icao.' - '.$equip->name.'</option>';
      }
      ?>
    </select>
  </td>
</tr>
<tr>
  <td>Registration:</td>
  <td><select class="form-control" name="reg" id="Registration">
    <option>YU-APA</option>
    <option>YU-APB</option>
    <option>YU-APC</option>
    <option>YU-APD</option>
    <option>YU-APE</option>
    <option>YU-APF</option>
    <option>YU-API</option>
    <option>YU-APJ</option>
    <option>YU-APH</option>
    <option>YU-APG</option>
    <option>YU-ARA</option>
    <option>YU-ALN</option>
    <option>YU-ALO</option>
    <option>YU-ALP</option>
    <option>YU-ALT</option>
    <option>YU-ALU</option>
    <option>YU-ALV</option>
    <option>YU-AND</option>
    <option>YU-ANI</option>
    <option>YU-ANK</option>
  </select></td>
</tr>

如何使当我在飞机下拉列表中选择“Airbus A319”时,YU-APA 会显示在注册下拉列表中,而当我选择 A320 时,YU-APH 会出现?显然,一架飞机的注册数量更多。

标签: javascriptphpjqueryhtml

解决方案


由于您标记了 jQuery:

$(document).ready(function() {
    $("#Aircraft").change(function() {
        if($("#Aircraft").val() === 'A319') {
            $("#Registration").val('YU-APA').change();
        } else if($("#Aircraft").val() === 'A320') {
            $("#Registration").val('YU-APH').change();
        }
    });
});

注意:您需要在字段标签中添加一个value属性。此外,不要输入and (在语句中),输入那些平面的任何内容。Registration<option>A319A320ifvalue


推荐阅读