我有非常相似的,我使用的東西:
<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不太好,但是我按照我喜歡的方式工作。如果您有任何問題,請告知我