如何使用 ajax、php 和 html 填充一个下拉列表
Posted
技术标签:
【中文标题】如何使用 ajax、php 和 html 填充一个下拉列表【英文标题】:How to populate one drop down with another using ajx, php and html 【发布时间】:2013-05-02 02:03:28 【问题描述】:我想根据另一个使用 ajax 的输入来填充下拉列表。但是有一个死胡同,无法弄清楚问题所在。它使用公司名称打开该公司制造的手机的下拉列表。
这是源php文件:
<body>
<div class="ex">
<form id="mob1" >
<label></br> Select Mobile 1:</label>
<label></br> --Company-- <label>
<select id="d1mob1" onchange="getmob(this.value)">
<?php
$q1=mysqli_query($con,"select distinct compName from umobile order by compName ASC");
while($row = mysqli_fetch_array($q1))
$options .="<option value=\"". $row['compName'] ."\">" . $row['compName'] . "</option>";
echo $options;
?>
</select>
<label class="ey" name="mlabel"></br> --Mobile--<label>
<select id="d2mob1" >
<?php
if($q2=mysqli_prepare($con,"SELECT DISTINCT mobname FROM umobile WHERE compName=? "))
mysqli_stmt_bind_param($q2,"s",$comp);
mysqli_stmt_execute($q2);
mysqli_stmt_bind_result($q2,$r);
while(mysqli_stmt_fetch($q2))
$name .="<option value=\"".$r."\" >".$r."</option>";
echo $name;
?>
</select>
</form>
</div>
</body>
这是为了查询手机名称而引用的 getmob php 文件:
<?php
$name="";
$comp=$_GET['d1mob1'];
if($q2=mysqli_prepare($con,"SELECT DISTINCT mobname FROM umobile WHERE compName=? "))
mysqli_stmt_bind_param($q2,"s",$comp);
mysqli_stmt_execute($q2);
mysqli_stmt_bind_result($q2,$r);
while(mysqli_stmt_fetch($q2))
$name .="<option value=\"".$r."\" >".$r."</option>";
echo $name;
?>
最后这是下拉列表中使用的javascript:
function getmob(compname)
var strURL="getmob.php?d1mob1="+compname;
var req = getXMLHTTP();
if (req)
req.onreadystatechange = function()
if (req.readyState == 4) // only if "OK"
if (req.status == 200)
document.getElementById('mlabel').innerhtml=req.responseText;
else
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
req.open("GET", strURL, true);
req.send(null);
我错过了什么?请帮忙。
【问题讨论】:
【参考方案1】:document.getElementById('mlabel')
??? r 你想把 responseText 放在d2mob1
?
【讨论】:
哎呀!!我是 ajax 新手。我已经为此苦恼了一段时间。只是没有注意到这一点。谢谢!!以上是关于如何使用 ajax、php 和 html 填充一个下拉列表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Ajax 和 Jquery 从 PHP 数据库中提取信息,并使用该信息填充元素?
如何根据使用 jQuery/AJAX 和 PHP/MySQL 选择的第一个下拉列表填充第二个下拉列表?