我有非常相似的,我使用的东西:
<select name="selectProject" id="selectID" onChange="showUser(this.options[selectedIndex].value)">
<?php
// Loop through and list each project
foreach ($var as $row) {
echo '<option value="'.$row['projectNumber'].'">'.$row['projectName'].'</option>';
}
?>
</select>
<label>Project Name</label>
<input id="projectName" type="text" class="span3" name="projectName">
以上只是调用与是projectNumber
参数的showUser函数,那么下面我有:
<SCRIPT TYPE="text/javascript">
// Function to fill in form fields
function showUser(str)
{
if (str=="")
{
document.getElementById("").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)
{
var obj = eval('(' + this.responseText + ')');
document.getElementById("projectName").value=obj.projectname;
}
}
xmlhttp.open("GET","http://url.com/ajax/"+str,true);
xmlhttp.send();
}
</SCRIPT>
此脚本将调用url url.com/ajax/whateverIdIsSelected
从该页面开始,您想做任何与您的查询有关的事情。
至于什么回来,我有这样的设置为使用JSON,这是我为什么我行
var obj = eval('(' + this.responseText + ')');
this.reponseText就是从AJAX页面返回。我的回电看起来像这样
$projectData = json_encode($project);
echo $projectData;
其中$ project是一个包含项目属性的数组。
我对ajax或js不太好,但是我按照我喜欢的方式工作。如果您有任何问题,请告知我