2012-06-20 37 views
0

PHP文件中有两个HTML“select”元素,比如说list1和list2。我希望在列表1的onChange事件中使用Ajax调用PHP文件来更改列表2的内容(显示文本和值)。 list2的内容将来自MySQL数据库表。怎么做 ?如何在Ajax中更改HTML“select”元素的内容?

这里是我的尝试:

<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 

那么在阿贾克斯称为PHP的URL文件写?

+6

你尝试过什么? – lanzz

+0

它在url页面会返回我有问题的回复! – pheromix

+0

尝试'链式选择'jquery插件:http://www.appelsiini.net/2010/jquery-chained-selects –

回答

0

酪氨酸这

15536​​

/URL检索:

<option value="1">Second</option> 
<option value="2">Second</option> 
+0

你可以正确写入吗? – pheromix