Mysql
 sql >> Database >  >> RDS >> Mysql

Impossibile popolare l'elenco a discesa concatenato con Ajax e Javascript

Consiglierei 2 modifiche -

1.Carica le opzioni di selezione della tua categoria al caricamento della pagina, invece di utilizzare onclick .
-Aggiungi onload="getcategory()" alla tua etichetta del corpo.

2.Carica la tua sottocategoria seleziona le opzioni al cambio di categoria.
-Aggiungi onchange="getsubcategory(this)" al tuo <select id="category"> e rimuovi onclick="getsubcategory(cat)" dal tuo <select id="subcat" >
-Quindi usa var catval = cat.options[cat.selectedIndex].value; nella tua getsubcategory() per ottenere il valore selezionato.

Ora sembrerebbe -

...
<!DOCTYPE html>
<html>
  <head>
    <script>
    function getcategory() {
      var xmlhttp;
      if(window.XMLHttpRequest) {
        //code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp= new XMLHttpRequest();
      } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function() {
        if(xmlhttp.readyState==4 && xmlhttp.status==200) {
          document.getElementById("category").innerHTML=xmlhttp.responseText;
        }
      }
      xmlhttp.open("GET","AddItemCat.php","true");
      xmlhttp.send();
    }
    function getsubcategory(cat) {
      var xmlhttp;
      var catval = cat.options[cat.selectedIndex].value;
      if(window.XMLHttpRequest) {
        //code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp= new XMLHttpRequest();
      } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange=function() {
        if(xmlhttp.readyState==4 && xmlhttp.status==200) {
          document.getElementById("subcat").innerHTML=xmlhttp.responseText;
        }
      }
      xmlhttp.open("GET","AddItemSubCat.php?cat="+catval,"true");
      xmlhttp.send();
    }
  </script>
</head>
<body onload="getcategory()">
  <form action="<?PHP echo $_SERVER['PHP_SELF'] ?>" name="additem" enctype="multipart/form-data" method="POST">
    <table>
    <tr>
      <td>Select Category: </td>
        <select id="category" onchange="getsubcategory(this)">
          <option value=""></option>
        </select>
      </td>
    </tr>
    <tr>
      <td>Select SubCategory</td>
      <td>
        <select id="subcat">
          <option value=""></option>
        </select>
      </td>
    </tr>
  </table>
  </form>
</body>
</html>