在一个PHP
文件中有两个 HTML“选择”元素,比如 list1 和 list2。我希望在onChange
list1 的事件中 list2 的内容( display-text 和 value )将通过Ajax
调用PHP
文件来改变。list2 的内容将来自 MySQL 数据库表。怎么做 ?
这是我尝试过的:
<script language="javascript">
function loadObjectsFromTypetache(typeTache)
{
var xmlhttp;
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("obs_id_obj").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajaxRemplirObjetObsrv.php?type_tache="+typeTache,true);
xmlhttp.send();
}
function Annuler()
{
// Retour à la liste des enregistrements
document.location = "<?php echo PAGE_ADMIN; ?>?action=AdminGererObservation";
}
</script>
...
<select id="typ_tache_code" name="typ_tache_code" onChange="loadObjectsFromTypetache(document.form.typ_tache_code.value)"> // this is list1
<option value="" ><?php echo _getText('admin.obsrv.selectionnerTypeTache'); ?></option>
<?php
for ($u=0; $u < $data['listTypeTache']['cnt']; $u++)
{
?>
<option value = "<?php echo $data['listTypeTache'][$u]['typ_tache_code']; ?>"><?php echo $data['listTypeTache'][$u]['typ_tache_lib']; ?></option>
<?php
}
?>
</select>
<select id="obs_id_obj" name="obs_id_obj">... // this is list2
那么在 ajax 调用的 php url 文件中应该写些什么呢?