Php 我想创建一个动态下拉列表(不使用oci/mysql)
我想创建一个动态下拉列表 选择DE时显示SDE 我的问题是,尽管显示了DE列表(附快照) 但我不懂SDE (因为我认为我无法传递onclick值 代码中的以下行:------------ 回显“.$jto.”;) 我尝试了很多选择,但都没有成功Php 我想创建一个动态下拉列表(不使用oci/mysql),php,ajax,oracle,Php,Ajax,Oracle,我想创建一个动态下拉列表 选择DE时显示SDE 我的问题是,尽管显示了DE列表(附快照) 但我不懂SDE (因为我认为我无法传递onclick值 代码中的以下行:------------ 回显“.$jto.”;) 我尝试了很多选择,但都没有成功 enter code here <form name="form1" action="" method="post"> <table> <tr> <td> select de</td
enter code here
<form name="form1" action="" method="post">
<table>
<tr>
<td> select de</td>
<td><select id="dedd" onChange="change_de()">
<option>select</option>
<?php
$jtosql="SELECT DISTINCT DE_OD FROM cdr_phone_control";
$jtoqr=odbc_exec($conn, $jtosql);
while(odbc_fetch_row($jtoqr))
{
$jto=odbc_result($jtoqr,"DE_OD");
echo '<option value="'.$jto.'">'.$jto.'</option>';
//echo "<option>".$jto."</option>";
/*?><option value="<?php echo $jto; ?>">"<?php".$jto."?></option><?php
?><option><?php echo ."$jto." ?></option><?php
?><option value="<?php echo $jto ?>"><?php echo "$jto"; ?></option><?php
?><a href="test52.php?page=<?php echo $b;?>" style="text-decoration:none"><input type="submit" value="<?php echo $b." "; ?>"</a><?php*/
}
$page=$_GET["dedd"];
ECHO $jto;
echo $jtoqr;
echo $page;
/*?><a href="test52.php?page=<?php echo $b;?>" style="text-decoration:none"><input type="submit" value="<?php echo $b." "; ?>"</a><?php*/
?>
</select>
</td></tr>
<tr><td>select sde</td>
<td>
<div id="sde">
<select><option>select</option></select></div>
</td></tr>
</table>
</form>
<script type="text/javascript">
function change_de()
{
var xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","ajax.php?de="+document.getElementById("dedd").value,false);
xmlhttp.send(null);
//alert(xmlhttp.responseText);
document.getElementById("sde").innerHTML=xmlhttp.responseText;
}
</script>
/*AJAX.PHP STARTS HERE */
$de=$_GET['dedd'];
//$staff=$_POST['callLL'];
if($de!="")
{
$jtosql="SELECT DISTINCT SDO_OD FROM cdr_phone_control where de_od='$de'";
$jtoqr=odbc_exec($conn, $jtosql);
echo "<select>";
while(odbc_fetch_row($jtoqr))
{
$jto=odbc_result($jtoqr,"SDO_OD");
//echo "<option>".$jto."</option>";
/*?><option value="<?php echo $jto; ?>">"<?php".$jto."?></option><?php
?><option><?php echo ."$jto." ?></option><?php*/
?><option value="<?php echo $jto ?>"><?php echo "$jto"; ?></option><?php
}
echo "</select>";
[enter image description here][1]
[1]: https://i.stack.imgur.com/S37R8.jpg
在此处输入代码
选择de
选择
您的代码中有很多错误。您应该更改编写代码的方式。然后您会收到任何错误?当您调试此代码时,它在哪里/如何具体失败?生成的HTML是什么?是否调用了JavaScript更改处理程序?是否发出了AJAX请求?它是否包含您期望的数据?服务器的响应是什么?您不应该在选择标记中给出任何回显或打印。这些回显只是为了查看我是否获得所需的输出。是的,我获得了第一个下拉列表,没有任何错误,但当我选择这些选项中的任何一个时,我什么也得不到,回显“”。$jto。“;这是主要原因。问题的关键是,如何将所选值作为输入从这些选项中推出以执行第二个查询?如果满足($de!=“”)条件,则AJAX、JAVA响应正常&第二个下拉列表隐藏,并附加快照