使用 SQL 信息更新选择下拉列表 (HTML)
updating a select drop down (html) with sql information
我真的很困惑。我想使用 sql 数据库中的信息创建一个选择下拉菜单。一切都很好,但我有一个问题。如何在用户每次更改其选择时更新"选择"下拉列表。这个问题真的很令人困惑,我真的不知道如何描述它。我在php中设置了代码,然后将其放入我的页面中。这是代码:
<?php
//creating a function to generate the second select menu
function createNameSelect(){
$options = "<select id='name'>"
$sql = "SELECT * FROM names WHERE category = 'c'";
$result = mysql_query($sql);
$options.="<option value='nothing'>-- select an option --</option>";
while ($row=mysql_fetch_array($result)){
$name=$row['name'];
$options.="<option value='$name'>$name</option>";
}
$options.="</select>";
return "$options";
}
?>
<!DOCTYPE html>
....
<select id = c>
<option value ='1'>option 1</option>
<option value ='2'>option 2</option>
<option value ='3'>option 3</option>
</select>
<?php createNameSelect(); ?>
....
</html>
现在,它工作得很好,但是,它不会更新第一个菜单后面的选择菜单。它将卡在从默认选项生成的菜单上。知道我能做些什么来修复它吗?有JS解决方案吗?
谢谢!
PHP 是一个服务器端脚本 - 它将在服务器上精确执行一次,输出将发送到客户端(查看器浏览器)。因此,您不能在用户更改第一个选择时一遍又一遍地调用该 PHP 函数。
您需要做的是创建一个单独的 PHP 文件,当为第一个选择提供有效选项时,它会打印出第二个选择的代码。然后,使用 AJAX 使用 jQuery .get() 函数调用该 PHP 文件,并将第二个选择的内容替换为您获得的结果。
试试这个
<select id = c ONCHANGE="location = this.options[this.selectedIndex].value;">
调用 AJAX 并将更改的值保存在 db 中
的
<select id = c>
相关文章:
- 如何在 HTML 下拉列表中制作锚标记
- 数据和HTML下拉列表
- HTML 下拉列表所选值
- 如何根据HTML下拉列表中的数量选择来计算价格
- 从 html.append 追加的 html 下拉列表中获取返回值
- 在复选框取消选中事件中从HTML下拉列表中删除项目
- HTML 下拉列表无法捕获 onChange() 如果下拉列表中只有一个值使用 javascript
- HTML 下拉列表到 Javascript 变量显示错误
- 如何从HTML下拉列表中选择多个值,而无需按住Ctrl按钮
- JavaScript 创建带有日期的 HTML 下拉列表
- 根据在 html 下拉列表中选择的国家/地区填写当前时间
- 在 POST MVC 之后保存 Html 下拉列表值
- 如何根据查询返回选择 html 下拉列表
- HTML下拉列表将我带到错误的URL
- JQuery 根据 HTML 下拉列表选择查找并替换 URL 中的查询字符串
- 使用 AJAX 从 databse 填充 HTML 下拉列表
- 使用 jQuery 和 html 下拉列表加载页面
- 创建包含 SQLite 字段内容的 html 下拉列表
- 在 html 下拉列表中选择默认值
- 从具有不同值的逗号分隔JSON对象填充html下拉列表