【发布时间】:2014-06-14 15:31:33
【问题描述】:
首先,请原谅我,如果我(看似)重复了之前在本网站(或网络上的其他地方)上已回答的问题。我来自 R&D(C++) 背景,是 Web 开发的新手;但通常我很快就能得到答案,但这个特殊的问题让我感到困惑。
提前感谢您的所有时间。
背景
我有一个简单的网页(表单),用户可以在其中输入简单的详细信息,并使用 PHP 在 MySQL 数据库中存储一条记录。这个数据库中有很多表,其中两个用于动态填充两个下拉选择列表(HTML 控件)。
填充第一个下拉列表可以正常工作。但是,第二个是根据在第一个下拉列表中所做的选择来填充的。
两个下拉列表都从 SQL 查询中获取数据。
挑战
经过 1/2 天的扫描这个网站和大约 10 个关于 AJAX、Javascript、PHP 等的不同网站 - 我还没有找到解决方案,我的小项目(我今天晚上才被接受)到期了明天中午完成!
因此,我面临的挑战是,我无法找到一种方法来使用 AJAX(今天晚上才开始使用它!)或任何其他 Web 技术来填充第二个下拉列表, MySQL 表中的数据。
代码大致如下:
<select name="listDevices" id="listDevices"
onchange="$('#brands').load('populateBrands.php?nID=1'); "
title="<?php echo ucfirst($row_DevicesRec['de_name']); ?>">
<?php
do {
?>
<option value="<?php echo $row_DevicesRec['de_name']?>"><?php echo $row_DevicesRec['de_name']?></option>
<?php
} while ($row_DevicesRec = mysql_fetch_assoc($DevicesRec));
$rows = mysql_num_rows($DevicesRec);
if($rows > 0) {
mysql_data_seek($DevicesRec, 0);
$row_DevicesRec = mysql_fetch_assoc($DevicesRec);
}
?>
</select>
</label></td>
</tr>
<tr valign="baseline">
<td height="121" align="right" nowrap="nowrap">
<div align="left" class="style3 style3" >Brands</div>
</td>
<td><label>
</label>
<label><br />
<select name="brands" id="brands">
</select>
<br />
</label></td>
其中,“brands”是第二个下拉列表的 ID 字段。
解决方案??
将代码添加到第一个下拉列表的"OnChange" 事件处理程序。正确的?正确的!现在,对于我的生活,我无法想出一种方法来使用 AJAX .load(或任何其他)函数来调用我的 PHP 文件,该文件将“动态创建”SELECT 下拉列表控件并填充它。
现在.. 我知道这已经被处理了,但我不相信它已经被充分理解了——由于混合 HTML、Javascript、PHP 和现在的 AJAX 的复杂性......全部在一个源文件中! (所以,请原谅我的无知,如果可以的话,请帮助我)。
我哪里错了??? 谢谢大家。
【问题讨论】:
标签: php ajax dynamic drop-down-menu