填充<选择>动态地从数据库中获取
Populate <select> dynamically from a database
我正试图用AJAX填充一个选择列表,如下所示:
HTML:
<table>
<tr>
<td>Select State</td>
<td>
<select name="tractDrop" onchange="populateSelect(this.value)">
<option value = "TX">TX</option>
<option value = "LA">LA</option>
<option value = "CA">CA</option>
</select>
</td>
</tr>
<tr>
<td>
Select County
</td>
<td>
<select name="selectCounty">
</select>
</td>
</tr>
</table>
JAVASCRIPT:
function populateSelect(str)
{
if (str=="")
{
document.getElementById("selectCounty").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("selectCounty").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","selectajax.php?q="+str,true);
xmlhttp.send();
}
PHP:
<?php
$q=$_GET["q"];
include '../include/engine.php';
$sql="SELECT DISTINCT * FROM tractIndex WHERE tractState = '".$q."'";
$result = mysql_query($sql);
echo ("<option value=''> Select County </option>");
while($row = mysql_fetch_assoc($result))
{
echo ("<option value = $row[tractCounty]>$row[tractCounty]</option>");
}
?>
数据库表tractIndex
有列:ID
、tractState
、tractCounty
除了javascript中我试图填充选择选项的部分:之外,一切都正常
document.getElementById("selectCounty").innerHTML=xmlhttp.responseText;
感谢任何愿意提供帮助的人。对不起你这么笨!
如果您发布的代码是正确的,那么错误是显而易见的,
document.getElementById("selectCounty").innerHTML=xmlhttp.responseText;
//The line above will try to find an element with the id 'selectCountry'
就我所见,你的元素都没有这样的id。试试这个改变
<select id="selectCounty"></select>
//Note the change from "name" to "id"
您没有为下拉列表提供id。你应该先给身份证。其次,我不认为写
document.getElementById("selectCounty").innerHTML=xmlhttp.responseText;
您可以将选项元素添加到选择框中。你需要想出其他解决方案。
PHP:
echo "<select name='country'>";
echo "<option value=''> Select County </option>";
while($row = mysql_fetch_assoc($result))
{
echo ("<option value = $row[tractCounty]>$row[tractCounty]</option>");
}
echo "</select>";
HTML:更换
<select name="selectCounty">
</select>
带有
<div id="city">
</div>
希望这将有助于
相关文章:
- 每隔5秒从数据库获取数据,并通过AJAX将其发送到视图
- 使用自动完成文本框从mysql数据库获取表记录并显示在文本字段中
- 尝试在移动优先应用程序中从 SQL 数据库获取数据时出错
- 如何在不刷新页面的情况下从 PHP 中的 SQL Server 数据库获取数据
- 如何根据屏幕尺寸从数据库获取数据
- 更新后,Laravel/Ajax从数据库获取值
- 从AngularJs中的数据库获取并显示数据
- 从sqlite数据库获取结果
- 如何使用ajax从数据库获取数据
- 滚动时从数据库获取图像 (HTML)
- 如何使从数据库获取的 Ruby 代码在 JS 中工作
- 从数据库获取所有纬度和长度以显示谷歌地图上的所有位置
- 如何从索引数据库获取所有值
- 通过 AJAX 从数据库获取 JSON
- 谁能告诉我如何使用 JavaScript 选择从数据库获取的所有项目到复选框中
- 从数据库获取数据后在谷歌地图上显示标记
- 是否可以使用 JavaScript 从 Django 模型数据库获取数据
- 使用 Ajax 从数据库获取数据
- 如何以 15 分钟的间隔在系统时间从数据库获取数据
- 从 MySQL 数据库获取数据时节点.js流不正确