【发布时间】:2019-11-22 13:03:42
【问题描述】:
我有一种下拉框形式,其中填充了 mysql 数据库(计算机零件模型)中的值。我的目标是根据所选值从每个下拉框下方的数据库中生成其余值(零件规格)。
基本上我认为我需要的是在每次选择新项目时进行某种 div 刷新。
我尝试了由 select 标签中的“onchange”触发的不同功能,但没有任何效果。
让我知道上下文是否需要更多代码。
HTML 和 PHP 一个下拉菜单
<form id="parts">
<fieldset>
<legend>Choose your parts</legend>
Any parts marked with * are required<br/><br/>
<label for="CPU">CPU*</label><br/>
<?php
$cresult = $mysqli->query("SELECT * FROM pCpu ORDER BY cModel asc");
?>
<select id="CPU" name="CPU">
<option value="" disabled selected>Select your Part</option>
<?php
while ($rows = $cresult->fetch_assoc()) {
$cmodel = $rows['cModel'];
echo "<option value='$cmodel'>$cmodel</option>";
$cid = $rows['ID'];
}
?>
</select>
<br/>
<?php
$res = $mysqli->query("SELECT cSocket FROM pCpu WHERE ID = '$cid'");
while($rows = $res->fetch_assoc()) {
$csocket = $rows['cSocket'];
echo "CPU Socket: $csocket<br/>";
}
?>
<br/><br/>
解决这个问题的最佳方法是什么?
提前致谢!
【问题讨论】:
-
数据集有多大?
-
你需要挂钩一个函数到 select 的 change 事件。在此函数中,进行 ajax 调用并将“div”内容替换为新获取的数据。
-
@Strawberry 大约 100 人,所有桌子
-
@CarlVerret 那么这是否可以仅使用当前代码完成,而只是将代码的后半部分包装在 div 中?然后使用函数,这将是 php,因为我需要回显数据?
-
从我的角度来看,我认为你应该在你的选择下有一个空的并在你的javascript函数放置的地方放置一个脚本标签。请务必为“div”提供一个 id,以便能够将 ajax 调用的结果放入其中。
标签: javascript php html mysql drop-down-menu