You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP实现下拉框选值后同步显示对应数据库fldPrice字段

下拉框选择同步显示对应价格的解决方法

1. 调整PHP函数,为选项携带价格数据

修改你的conTroller函数,给每个<option>标签添加data-price属性,把数据库里的fldPrice值存储进去,让前端能直接获取对应价格:

<?php
function conTroller(){
  include("includes/dbh.php");
  $sql = "SELECT * FROM tbl_price WHERE fldPackage='controller'";
  $result = mysqli_query($conn, $sql);
  if($result->num_rows > 0){
    $options= mysqli_fetch_all($result, MYSQLI_ASSOC);
  }
  foreach ($options as $option) { ?>
    <option data-price="<?php echo $option['fldPrice']; ?>">
      <?php echo $option['fldName']; ?>
    </option>
  <?php }
}
?>

2. 修改HTML,给价格显示区域加标识

给需要显示价格的<td>设置一个id,方便JavaScript定位它,同时保留下拉框的onchange事件绑定:

<td><b>Electrical package</b></td>
<td>
  <select id="controller-select" class="custom-select" required onchange="ePkg(event)">
    <option selected value="">None</option>
    <?php conTroller(); ?>
  </select>
</td>
<td id="price-display">请选择选项</td> <!-- 这里用来动态显示价格 -->
<td>istL</td>
<td>Select controller</td>

3. 编写JavaScript实现价格同步

在HTML页面的<script>标签里添加ePkg函数,当下拉框选项变化时,读取选中选项的data-price值,更新到价格显示区域:

<script>
function ePkg(event) {
  const selectedOption = event.target.options[event.target.selectedIndex];
  const price = selectedOption.getAttribute('data-price');
  const priceDisplay = document.getElementById('price-display');
  
  // 根据选中状态更新显示内容
  priceDisplay.textContent = price ? price : "请选择选项";
}
</script>

完成以上修改后,选择下拉框里的选项时,对应的fldPrice就会自动显示在指定单元格中。

内容的提问来源于stack exchange,提问作者Undik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:20:26